Почему VS Code не может отлаживать источники с поддержкой синтаксиса TS 3.7.1-rc? - PullRequest
1 голос
/ 29 октября 2019

У меня есть кодовая база, и я готов использовать typescript 3.7, если быть точным, я использую 3.7.1-rc. Я мог бы создать исходный код с помощью командной строки и даже запустить тесты в командной строке, но когда я хочу отладить проект с использованием F5, он завершается неудачно, в то время как код утверждает, что есть некоторые ошибки, но он ничего не показывает в Problems tab, но в 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.

1 Ответ

1 голос
/ 03 ноября 2019

Вот ссылка на обсуждение на GitHub того, как решить проблему.

Краткий ответ: Установите typescript@3.7.1-rc глобально или настройте файл task.json для ссылки на локально установленный tsc (это отличается от выбранной версии для VS Code .

Настройте problemMatcher вашего task.json , чтобы он указывал на локально установленный 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
            }
        }
    ],
}
...