使用 ES6 模块会提高 VS Code 上的智能感知吗?

Does using ES6 modules improve intellisense on VS Code?

我对使用 JavaScript 的最大抱怨之一,至少是我到目前为止所做的方式(主要是因为我使用的库不是 ES6 模块),是因为您将所有文件都包含在 HTML 文件中,您实际上并没有引用您在脚本中使用的其他文件,所以当我使用 VS Code 的 ESLint 插件时,它会很好地突出显示语法错误,但我希望它能更进一步地显示其他 JS 文件的 Intellisense 建议。

我想知道,使用 ES6 模块是否会产生我想要的结果?有没有办法在使用 "include everything in the HTML" 方法时也有这种行为?

是的,使用 JavaScript 模块语法意味着 VSCode 可以找到您在其他文件中引用的内容并为它们提供 IntelliSense。

例如,如果您有 foo.js:

export class Foo {
    doSomething() {
        // ...
    }
}

你有 bar.js:

import {Foo} from "./bar.js";

届时,输入 const f = new 会为您提供 Foo(除其他外)。完成该行后:

const f = new Foo();

此时,输入 f. 将显示 f.doSomething() 作为自动完成建议。