visual-studio-code - 在哪里定义一个共享的problemMatcher来检查终端?

标签 visual-studio-code vscode-tasks vscode-problem-matcher

在 vscode 中,我有时会在集成终端中单击构建错误,但有时无法这样做。这让我恼火了很长一段时间,因为我无法找到模式,直到今天我在编辑 tasks.json。

它看起来与定义 problemMatcher 有关在 .vscode/tasks.json .删除 problemMatcher文件中的部分和终端中的构建错误不再可点击,但将其放回并不会重新启用它们。

我的 vscode-project 位于构建树的子文件夹中,整个项目的构建根目录向上两级 ${workspaceFolder}/../..我相信这可能会混淆一些构建工具。

任务.json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "problemMatcher": {
        "fileLocation": "relative",
        "severity": "error",
        "pattern":{
            "regexp": "^system/mytool/(.*):(\\d+):(\\d+):\\s+(warning|error):(.*)$",
            "file": 1,
            "location": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        },
    },
    "tasks": [
        {
            "type": "shell",
            "label": "android deploy",
            "command": "cd ${workspaceFolder}/../..; source build/envsetup.sh ; lunch hikey960-userdebug ; m mytool",
            "args": [
            ],
            "options": {
            },
            "group": "build"
        },

    ]
}

我见过放置 "problemMatcher" = "$gcc" 的例子在任务内部,我是否应该在其他地方全局定义我的问题匹配器,然后将其称为我的名字?

当我通过在集成终端中键入 make-commands 进行构建时,如何使用它来解析输出?

最佳答案

您不能全局定义问题匹配器。相反,您必须在每个任务中定义它们。

这有点难看,因为您可能必须将相同的问题匹配器复制到许多任务中。有一个 Unresolved 问题:Global task properties

关于visual-studio-code - 在哪里定义一个共享的problemMatcher来检查终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58600394/

相关文章:

node.js - 组合 Visual Studio Code 构建任务

flutter - 通过VSCode运行Flutter项目时找不到名为 “web-server-debug-protocol”的选项

.net - VS Code $msCompile ProblemMatcher 不适用于相对文件路径

visual-studio-code - 如何处理 VS Code 中多个问题匹配器报告的重复问题?

visual-studio-code - Visual Studio Code 上的 "Intelligent"自动换行

javascript - 如何使用 webview 为 VSCode 扩展实现 React App 导航

asp.net - VS Code : running ASP. NET SPA with Angular 4 并使用 NodeServices 选项 Launch With Debugging

html - 我可以让 VS Code 语法高亮 JsRender 模板吗?

node.js - 调试 “Visual Studio Code” 中的单个 javascript 文件

visual-studio-code - 在 vscode for WSL 中的 task.json 中设置环境变量