是否可以在VSCode中为所有c ++文件设置task.json?

时间:2018-12-29 19:40:20

标签: visual-studio-code vscode-tasks

我想尝试一下VSCode。 是否可以为所有.cpp文件设置编译和生成命令?就像在盖尼吗?每种支持的语言都可以做到这一点吗?

在这里和那里搜索似乎我必须在task.json中为每个项目(甚至是指向iostream的链接)进行设置

2 个答案:

答案 0 :(得分:1)

launch.json

"version": "0.2.0",
"configurations": [
    {
        "name": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "gdb",
        "miDebuggerPath": "Example:/Your/path/to/gdb",
        "preLaunchTask": "g++",
        "setupCommands": [
            {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ]
    },

tasks.json

{
    "version": "2.0.0",
    "command": "g++",
    "args": [
        "-g",
        "${file}",
        "-o",
        "${fileBasenameNoExtension}.exe"
    ],
    "problemMatcher": { "owner": "cpp", "fileLocation": ["relative", "${workspaceRoot}"], 
    "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", 
        "file": 1, 
        "line": 2, 
        "column": 3, 
        "severity": 4, 
        "message": 5 } 
        } 
}

这是C / C ++扩展的解决方案。也许您必须在.cpp文件的末尾设置一个断点。 或者,您可以安装代码运行程序扩展。 您可以将两个文件添加到C:/ Users / someone / AppData / Roming / Code / User /,以便可以编译所有.cpp文件。

答案 1 :(得分:0)

从这里:https://github.com/Microsoft/vscode/issues/1435#issuecomment-433324050

  

task.json文件中的全局任务仍在议程中(以与launch.json保持一致)。但是,何时出现优先级问题。

所以答案是:还没有。