我正在使用TestComplete编写自动化测试脚本。 TestComplete主要支持Ecmascript 2015,但它有一些怪癖导致智能感知无法正常工作。
以下是代码文件的两个示例:
文件: UsefulStuffFileName.js
class UsefulStuff {
constructor(initValue) {
this.initValue = initValue;
}
get someValue(){
return this.initValue + " someValue";
}
doStuff(input) {
return input + " stuff done";
}
}
module.exports.UsefullStuff = UsefullStuff;
档案: WorkingHere.js
var useful = require('UsefulStuffFileName');
class WorkingHere {
constructor() {
this.usefullStuff = new useful.UsefulStuff("Hello");
}
doCoolStuff() {
// I want intellisense options when I type the period after this.usefulStuff
// The options would be someValue, doStuff() and initValue.
// |
// |
// V
let myVariable = this.usefullStuff.someValue;
}
}
我看到的怪癖是:
module.exports.UsefullStuff = UsefullStuff;
。 (这使得它可以与TestComplete一起使用。)var useful = require('UsefulStuffFileName');
)new useful.UsefulStuff("Hello");
)。是否有配置Visual Studio代码以了解这些文件的关联方式并给我智能感知?
注意:如果我尝试更标准的import {UsefulStuff} from './UsefulStuffFileName';
,我会收到一条错误,说“"意外的令牌导入"来自TestComplete。
答案 0 :(得分:0)
这可以通过这些步骤完成。
将导入更改为如下所示:
var { UsefulStuff } = require('UsefulStuff');
将类的实例化更改为:
this.usefulStuff = new UsefulStuff("Hello");
添加名为jsconfig.json
的文件并将其放入其中:
{
"compilerOptions": {
"baseUrl": "."
}
}