Sim*_*mon 6 compiler-errors typescript visual-studio-code angular
编码上下文:
问题:
当我的 Angular/TypeScript 代码中存在语法错误时,VisualCode 会在“问题”选项卡中显示我的错误,但如果我单击该错误,则会出现错误。
错误是:“无法打开编辑器,因为找不到文件”。
调查(如果有帮助):当我仔细观察时,Visual Studio 尝试打开的链接是错误的:
而不是打开文件 C:\Users\simon\sandbox\learnRxJS2\src\app\app.component.ts
它正在尝试打开:C:\Users\simon\sandbox\learnRxJS2\Error: src\app\app.component.ts
在“工作空间”和“相对路径”之间插入了“错误:”。
3个场景的详细信息:
A - 编辑器在初始运行之前打开 在 打开包含我的错误的文件之前,没有显示错误(没有“问题”)。
如果我关闭编辑器窗口,错误将从问题选项卡中消失。没关系,也许这是一个线索..
B - 编辑器关闭,尝试运行项目后 如果我从编辑器关闭 app.component.ts 文件,我的代码中不再报告“问题”。
然后我只需运行 Angular (f5) => 它将失败并在“问题”选项卡中显示我的错误。
C - 编辑器在尝试运行项目后打开
最后,如果我手动打开错误文件(使用文件资源管理器),错误将显示 2 次!如果我单击“新”问题,编辑器将找到该代码行。如果我点击另一个,错误“Cnanot fin file”将再次出现!

这是一个面临同样问题的人,但使用 VSCODE + SalesForce :https ://salesforce.stackexchange.com/questions/377152/problems-are-returning-errors-linking-to-in Correct-file-locations-giving-the -e
标准预定义的 $tsc 模式无法匹配ng build输出命令(他们在某个时刻更改了该输出)。
看起来像:
{
"name": "tsc",
"regexp": "^([^\\s].*)[\\(:](\\d+)[,:](\\d+)(?:\\):\\s+|\\s+-\\s+)(error|warning|info)\\s+TS(\\d+)\\s*:\\s*(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"code": 5,
"message": 6
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,它只是一个正则表达式。这就是为什么它需要Error: src/app/app.component.ts作为文件路径。
要解决此问题,您可以选择在该单词前面添加前缀Error。
因此,转到.vscode/tasks.json并将所有"pattern": "$tsc",位置替换为:
"pattern": {
"regexp": "^(Error: )?([^\\s].*)[\\(:](\\d+)[,:](\\d+)(?:\\):\\s+|\\s+-\\s+)(error|warning|info)\\s+TS(\\d+)\\s*:\\s*(.*)$",
"file": 2,
"line": 3,
"column": 4,
"severity": 5,
"code": 6,
"message": 7
},
Run Code Online (Sandbox Code Playgroud)
github 中也有类似的报告问题https://github.com/angular/vscode-ng-language-service/issues/625#issuecomment-801327945
也可以看看:
| 归档时间: |
|
| 查看次数: |
855 次 |
| 最近记录: |