【问题标题】:tsconfig does work only on single file in VS Codetsconfig 仅适用于 VS Code 中的单个文件
【发布时间】:2016-08-30 06:54:22
【问题描述】:

我的 tscongig.json 没有按预期工作。我在 VS Code 的项目中将这种情况简化为这种结构:

-a.ts
-b.ts
-tsconfig.json
-def.d.ts

并且 tsconfig 包含:

"files": ["def.d.ts"]

现在,当我在处理 a.ts 时,智能感知正在正确地完成来自 def.d.ts 的代码。但是当我切换到 b.ts 时,定义丢失了。当我在 b.ts 窗口处于活动状态的情况下重新启动 VS 代码时,定义在 b.ts 上可用,但在 a.ts 上丢失了。换句话说,它只适用于一个文件,直到我重新启动整个工作室并打开另一个文件。正常吗?我做错了吗?

感谢您的想法!

编辑:我的项目不是常规的 TS 项目。它用于协助编写许多长脚本。想要的情况是: *.ts 文件不会“看到”彼此,但智能感知在编辑 .ts 文件时提供来自 d.ts 的定义。当前的解决方案是在每个 ts 文件中引用 d.ts,这可行,但不是那么干净。

【问题讨论】:

  • 为什么要指定要包含的特定文件?我想说从包含所有文件开始(它没有定义“文件”)并创建一个排除数组是很好的。如果这不适合您,您可能还想在文件数组中包含 a.ts 和 b.ts。

标签: typescript visual-studio-code tsconfig


【解决方案1】:

我不使用文件而是使用排除。所有不在 exclude 中的 .ts 文件都由智能感知处理:

"exclude": [
    "node_modules",
    "build",
    "typings/main", //or typings/browser if you want
    "typings/main.d.ts",
    //etc, etc
]

这样您就可以排除与智能感知无关的内容,然后继续使用其他内容。

在你的情况下,你可以留下一个空的排除数组,如果你认为你将来会使用 NPM 的东西,可以使用“node_modules”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2018-11-30
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 2018-01-17
    相关资源
    最近更新 更多