我正在使用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模块时反复重复。
答案 0 :(得分:0)
我向vscode团队提交了一个错误,他们将其重新分配给了打字稿团队。所以这听起来像是编辑器本身的错误:
基于类型推断的IntelliSense在node_modules中不起作用?