获取Visual Studio代码以提供自定义Javascript导入的智能感知

时间:2017-09-28 15:47:23

标签: javascript visual-studio-code testcomplete

我正在使用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;                
    }
}

我看到的怪癖是:

  1. 导出是通过以下方式完成的:module.exports.UsefullStuff = UsefullStuff;。 (这使得它可以与TestComplete一起使用。)
  2. " import"分配给变量(var useful = require('UsefulStuffFileName');
  3. "对象的新内容使用变量访问类(new useful.UsefulStuff("Hello");)。
  4. 是否有配置Visual Studio代码以了解这些文件的关联方式并给我智能感知?

    注意:如果我尝试更标准的import {UsefulStuff} from './UsefulStuffFileName';,我会收到一条错误,说“"意外的令牌导入"来自TestComplete。

1 个答案:

答案 0 :(得分:0)

这可以通过这些步骤完成。

  1. 将导入更改为如下所示:

    var { UsefulStuff } = require('UsefulStuff');

  2. 将类的实例化更改为:

    this.usefulStuff = new UsefulStuff("Hello");

  3. 添加名为jsconfig.json的文件并将其放入其中:

  4. {
        "compilerOptions": {
          "baseUrl": "."      
        }
    }