VSCode:如何使Intellisense与普通的Javascript项目一起工作?

时间:2018-08-27 14:42:35

标签: javascript visual-studio-code jsdoc

我有一个foo.js文件:

/**
 * Foo Class
 * @typedef {Object} Foo
 */
function Foo(){
}

Foo.prototype.sayHello = function (){
    alert("Hello!");
};

在我的bar.js文件中,我有:

/** @type {Foo} */
var foo = new Foo();
foo.sayHello();

但是如果我输入foo.,则Intellisense不建议使用sayHello()

这是一个古老的Javascript项目(没有npm / node / requirejs等),JS文件只是通过以下方式加载到HTML中:

<script src="foo.js"></script>
<script src="bar.js"></script>

有没有办法使Intellisense与普通的Javascript项目一起工作?

1 个答案:

答案 0 :(得分:1)

您应该在function Foo()上得到VSCode的提示,建议改用ES2015 class语法。该语法会将您的代码更改为此

/**
 * Foo Class
 * @typedef {Object} Foo
 */
class Foo {
  constructor() {
  }
  sayHello() {
    alert("Hello!");
  }
}

并且按提示在其他文件中提供了提示。

有趣的是,通过保持代码原样并简单地删除所有JSDoc,可以得到相同的结果。