为什么VS Code无法通过TS 3.7.1-rc语法支持调试源?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么VS Code无法通过TS 3.7.1-rc语法支持调试源?相关的知识,希望对你有一定的参考价值。

我有一个代码库,我愿意使用typescript 3.7,确切地说,我使用3.7.1-rc。我可以使用命令行构建源代码,甚至可以在命令行中运行测试,但是当我想使用F5调试项目时,它会失败,而vs代码声称存在一些错误,但是Problems中什么也没有显示]标签,但在Outputs中显示:

sample.ts(42,53): error TS1109: Expression expected.
sample.ts(42,68): error TS1005: ':' expected.

源文件类似于以下内容:

if (filterElements || configuration.classes?.filterElements) {
            const filter = filterElements || configuration.classes!.filterElements;

其中第53列是问号所在,第68列是右括号。我什至尝试了VS Code Insider,它的行为也一样。

我不知道该怎么办。我曾经在?3.7中使用过相同的错误。

答案

这是GitHub上有关如何解决问题的讨论的link

简短回答:全局安装typescript@3.7.1-rc,或配置task.json文件以引用本地安装的tsc(这与VS Code的所选版本不同。

配置task.jsonproblemMatcher以指向本地安装的tsc

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "tsc",
            "type": "typescript",
            "tsconfig": "tsconfig.json",
            "problemMatcher": [
                {
                    "base": "$tsc",
                    "fileLocation": [
                        "relative",
                        "${workspaceRoot}/node_modules/typescript/lib"
                    ]
                }
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
}

以上是关于为什么VS Code无法通过TS 3.7.1-rc语法支持调试源?的主要内容,如果未能解决你的问题,请参考以下文章

在 VS Code 中从 JS 文件中删除 [ts] 错误

Vs Code 自动编译TS

VS Code - Angular 1/TypeScript - 删除 /// 参考时无法识别“角度”

json 用于ts-node app的VS Code launch.json

VS Code 和 Yarn PnP

为啥Ubuntu系统无法运行VS Code