【问题标题】:Why do I get TypeScript errors in VSCode but not from the tsc command?为什么我在 VSCode 中收到 TypeScript 错误,但在 tsc 命令中却没有?
【发布时间】:2023-02-16 18:08:50
【问题描述】:

VS Code 向我显示 TS 错误,这些错误突然成为一个问题,但以前可以正常工作。

  • 当我运行npx tsc 时,我没有收到 TS 错误。
  • 项目编译没有 TS 错误
  • 当我在 PHPStorm 中打开文件时,没有出现 TS 错误

这些错误可能来自哪里?它们有效还是 VS Code 混淆了?

我试图解决它们,但无法弄清楚如何输入它们(有大量导入的类型被连接起来等等)。

有时,如果我尝试使用不同的类型,错误就会消失,然后过一会儿又突然回来。 any 似乎有效,但是,是的,那是作弊 :)

【问题讨论】:

  • 你安装了什么打字稿? (检查 node_modules/typescript/package.json 或类似的路径)。您是否将 VS Code 设置为使用工作区的 TypeScript 进行 IntelliSense? (请参阅 typescript.tsdktypescript.enablePromptUseWorkspaceTsdk 设置)。
  • @user,谢谢,确实解决了问题。你知道 VScode 使用的是什么版本的打字稿吗?我想这些错误可能在较新版本的 TS 中有效。

标签: typescript visual-studio-code tsc


【解决方案1】:

正如在 cmets 中发现的那样,“差异”是由于 VS Code 默认使用其捆绑的 TypeScript 安装,而不是指定为 NPM 包依赖项的安装。您可以通过以下设置告诉 VS Code 使用(更准确地说:提示您选择)工作区 TypeScript:

"typescript.tsdk": "./node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,

要找出你的 VS Code 版本捆绑的 TypeScript 版本,请使用命令面板中的 TypeScript: Select TypeScript Version...。该版本将显示在“使用 VS 代码的版本”选项旁边。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    相关资源
    最近更新 更多