我正试图在visual studio代码中获得intellisense。以下代码工作正常:
var Bar = function(){
}
Bar.prototype.logMsg = function(msg){
console.log(msg);
}
但是在写作时我没有回复任何智能感知:
var FOO = {};
FOO.Bar = function(){
}
FOO.Bar.prototype.logMsg = function(msg){
console.log(msg);
}
这可能是由于我不知道的限制,但我找不到任何提及此的文档/帖子。有没有办法让它工作而不重写大部分?
答案 0 :(得分:1)
我在VSCode中使用TypeScript和JavaScript支持。从VSCode 1.8.1开始,这种类型的动态属性赋值不是我们的IntelliSense识别的。
我们使用TypeScript为我们的TypeScript和JavaScript IntelliSense提供支持,虽然TypeScript能够识别第一个示例中显示的常见prototype
模式,但它无法识别添加到对象的属性,就像你的第二个例子。这意味着FOO.Bar
将始终具有any
类型。
我们在TypeScript项目中跟踪对此类IntelliSense的支持:https://github.com/Microsoft/TypeScript/issues/13271