VSCode是否应报告从编译中排除的TS文件的错误?

问题描述 投票:1回答:1

我用VSCode提交了这个Bug Report,因为我已经从编译中排除了*.spec文件,因为我不想在NPM发行版中包含这些文件。

我仍然希望通过VSCode工具看到它们正确编译。

因为它代表VSCode intellisense报告无法导入路径上可用的导入,这会引发很多错误,将项目规范文件描绘为红色等。

在我的报告中,我说VSCode错误报告和编译应该是两个独立的问题。 VSCode不能同时检查文件是否正确并同时将其从编译中排除。这两者并不相互排斥。

我已经要求VSCode进行分类,但到目前为止,问题仍未解决,我想看看其他人在SO上的情况。它是一个错误还是报告中的结论是正确的?

javascript node.js typescript visual-studio-code tsconfig
1个回答
1
投票

IIUC,现在VS Code使用一个语言服务实例,用于tsconfig.json未包含的文件(包括tsconfig.json根本不存在的情况)和默认编译器选项,当tsconfig.json存在时,它使用急切加载的第二语言服务实例所有包含的文件并使用指定的编译器选项。我相信你提议当tsconfig.json存在时,第一个语言服务实例应该使用tsconfig.json中的编译器选项,但它具有与现在相同的文件加载行为。这将是复杂性的微小增加,老实说,当tsconfig.json存在时编辑从tsconfig.json排除的文件的经验仍然会令人困惑:你的一些文件将看到全局定义而其他文件将不会,并且“找到所有引用”将给你部分结果。在我看来,你的提议似乎是现状的合理替代方案,但我不明白为什么你要与VS Code团队战斗,而不是仅创建两个tsconfig.json文件,这是明确的,并为您提供统一的编辑体验实际上想要。 (或者你是否建议应该有一种语言服务忽略排除并急切地加载项目目录下的所有.ts(x?)文件?我很确定它不会飞,因为它会在许多场景中引起问题。)

© www.soinside.com 2019 - 2024. All rights reserved.