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

标签 javascript node.js typescript visual-studio-code tsconfig

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

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

目前 VSCode intellisense 报告无法导入路径上可用的导入,这会引发很多错误,将项目规范文件涂成红色等。

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

我已经要求从 VSCode 进行分类,但到目前为止问题仍然关闭,但我想看看其他人在 SO 上有什么。这是错误还是报告中的结论就目前而言是正确的?

最佳答案

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

关于javascript - VSCode 是否应该报告从编译中排除的 TS 文件的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52265758/

相关文章:

javascript - 影响回调函数中的变量

php - 如何在 PHP 中编码多字节文件名并在 javascript 中解码它们?

javascript - HTML5/JavaScript 2.5D - 在自己的平面上制作地面

javascript - 尽管存在三个请求,Internet Explorer 仅在 jQuery ajax 成功响应中执行一次函数

node.js - Loopback.io 模型、aclprincipalId、$owner

javascript - 如何解码使用 Connect 的 cookieSession 设置的 cookie secret ?

angularjs - Heroku 推送问题 : Bower resolver not found

angular - 如何在组件销毁时销毁响应式(Reactive) FormControl?

innerHTML 中的 Angular4 routerLink 变为小写

javascript - 将 Javascript 文件加载到 Typescript html 模板中 (Angular2)