如何使用 vscode 制作一个在终端中执行命令(g++ 和 ./a.out 在同一命令中)的宏?

问题描述 投票:0回答:1

我正在尝试自动化 vscode,这样我就可以用它在 C++ 中高效工作。但是,在尝试使用 geddski 扩展创建宏时,我不明白如何在终端中执行命令,我进行了搜索,但我的印象是没有人有同样的问题(我读了VSCode自定义宏)。

现在,这是我在 settings.json 中的代码:

    "macros": {
        "compile": [
            {
                "command": "acces_path/g++.exe",
                "args": [
                    "-Wall",
                    "-Wextra",
                    "-Wshadow",
                    "-Wfatal-errors",
                    "-fdiagnostics-color=always",
                    "-g",
                    "${file}",
                    "-o",
                    "a.out"
                ]
            }
        ]
    },

但我不明白为什么什么都没有发生,因为我不认为有任何问题......

你能帮我吗?

提前致谢!

ps:我知道有任务,但我也不知道如何同时编译和运行我的程序,所以如果你知道怎么做,我想要一些解释。

json visual-studio-code macros keyboard-shortcuts
1个回答
0
投票

我认为 VSCode 任务 就是您正在寻找的。

带有构建和运行任务的tasks.json示例:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "acces_path/g++.exe",
            "args": [
                    "-Wall",
                    "-Wextra",
                    "-Wshadow",
                    "-Wfatal-errors",
                    "-fdiagnostics-color=always",
                    "-g",
                    "${file}",
                    "-o",
                    "a.out"
                ]
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
        },
        {
            "label": "run",
            "type": "shell",
            "command": "./a.out",
            "dependsOn": ["build"],
        },
    ]
}

注意,要编译的文件必须在 VSCode 中处于活动状态。

${file}
将替换为在 IDE 中打开的文件名(请参阅变量替换)。

如果您运行任务“run”,您的程序将被编译然后执行。构建任务的好处是,您可以在 VSCode 的问题视图中获得格式良好的编译错误(请参阅“problemMatcher”)。 您可以通过 F1“运行任务”来运行任务。例如,或者使用任务资源管理器扩展。 按键绑定也是可能的。

© www.soinside.com 2019 - 2024. All rights reserved.