【问题标题】:Why is VS Code javascript intellisense dependent on the files I have open?为什么 VS Code javascript intellisense 依赖于我打开的文件?
【发布时间】:2017-12-09 14:34:22
【问题描述】:

我有一个项目使用 .js 和 .es6 文件(Rails,虽然我认为这并不重要),我正在尝试使用 VS Code 的 javascript intellisense per these instructions。我有一个jsconfig.json 文件:

{
    "include": [
        "app/assets/javascripts/**/*",
        "vendor/assets/javascripts/**/*"
    ],
    "compilerOptions": {
        "target": "ES6",
        "checkJs": true
    }
}

在根目录中,所有的 javascript 都在 include 部分中提到的文件夹中。我还在根目录下创建了一个globals.d.ts 文件。

如果我在 VS Code 中打开 globals.d.ts 然后运行 ​​Typescript: Restart TS server,VS Code 会识别 javascript 文件中的这些全局变量。但是,如果我随后关闭 globals.d.ts 并再次运行 Typescript: Restart TS server,VS Code 将无法识别全局变量。这也发生在其他 javascript 文件中创建的全局变量中。例如,假设Class.es6 定义了一个类。如果我在 VS Code 中打开了 Class.es6,我只会获得该类的智能感知。

首先我不确定为什么我的设置不起作用,其次为什么它取决于我当时在 VS Code 中打开了哪些文件。

【问题讨论】:

    标签: javascript visual-studio-code javascript-intellisense


    【解决方案1】:

    由于您明确指定了include,因此只有那些包含的文件才会成为您的 javascript 项目的一部分。如果您想取走它,您还需要将global.d.ts 放入您的include

    【讨论】:

    • 哇,绝对应该意识到这一点!谢谢你的提示。我将它添加到include 列表中,但没有任何改变。这也不能解释其他 javascript 文件中全局变量的行为。
    猜你喜欢
    • 2020-06-06
    • 2018-03-11
    • 2022-07-17
    • 1970-01-01
    • 2022-11-16
    • 2021-04-30
    • 1970-01-01
    • 2023-01-11
    • 2017-09-22
    相关资源
    最近更新 更多