【问题标题】:VSCode: How can I make Intellisense work with a vanilla Javascript project?VSCode:如何让 Intellisense 与 vanilla Javascript 项目一起工作?
【发布时间】:2018-08-28 16:22:37
【问题描述】:

我有一个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()

这是一个旧的 vanilla Javascript 项目(没有 npm/node/requirejs 等),JS 文件只是加载到 HTML 中:

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

有没有办法让 Intellisense 与 vanilla Javascript 项目一起工作?

【问题讨论】:

    标签: javascript visual-studio-code jsdoc


    【解决方案1】:

    你应该从 VSCode 得到一个关于 function Foo() 的提示,建议改用 ES2015 class 语法。该语法将您的代码更改为此

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

    并且提示按预期在另一个文件中提供。

    有趣的是,通过保持代码原样并简单地删除所有 JSDoc 会产生相同的结果。

    【讨论】:

    • 有趣的是,通过保持代码原样并简单地删除所有 JSDoc 会产生相同的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 2017-07-29
    • 1970-01-01
    • 2019-03-18
    • 2016-08-07
    • 1970-01-01
    • 2023-02-08
    相关资源
    最近更新 更多