vscode丰富的编辑支持 - 并不总是遵循require()

时间:2016-06-21 17:09:22

标签: javascript visual-studio-code

我正在使用VS Code 1.2.1并了解丰富的编辑支持如何适用于javascript。 (intellisense,peek,go to definition,等等)

有两种情况,vscode成功加载了require() - ed模块,但有一种情况是它没有提供任何丰富的编辑支持。这是一个带注释的例子:

// vscode knows about var _ because I already did 
// $ typings install lodash
var _ = require('lodash');

// vscode knows about var fu, because the test.js is in project context.
var fu = require('./test.js');

// vscode is unaware of var tree, even though I copied the src into the 
// project context.
// $ cp -r node_modules/tnt.tree/src lib/tnt.tree
var tree = require('tnt.tree');
console.log(tree); // ok

最后一个,tnt.tree给了我麻烦。上面的代码使用webpack成功构建,然后运行OK。但是vscode说变量树是'any',没有其他信息。

最后,这是我的jsconfig.json:

{
  "compilerOptions": {
    "target": "ES6",
    "module": "commonjs",
    "diagnostics": true,
    "allowSyntheticDefaultImports": true
  },
  "exclude": [
    "node_modules",
    "dist"
  ]
}

总结:tnt.tree没有任何类型。因此,我将感兴趣的模块(tnt.tree)从node_modules复制到lib /目录中,以尝试在项目上下文中使vscode知道它。但这似乎不起作用。任何指针都会非常感激,因为我确信这是一个问题,我会在尝试学习新的Js模块时反复重复。

1 个答案:

答案 0 :(得分:0)

我向vscode团队提交了一个错误,他们将其重新分配给了打字稿团队。所以这听起来像是编辑器本身的错误:

  

基于类型推断的IntelliSense在node_modules中不起作用?

https://github.com/Microsoft/TypeScript/issues/9323