结合 makefile 与 vscode 搭建 C 与 C++ 开发环境

稍微学了 makefile,试着和 vscode 混在一起,还挺好用。

0x00 安装 make

choco 的安装方法可在网上查到。

choco install make

0x01 配置 vscode

配置 tasks.json

tasks.json 用于设置生成可执行文件时所用的命令。

首先创建 tasks.json 文件。选择配置默认生成任务。

image-20200808171230652

选择使用模板创建 tasks.json。

image-20200808172908894

选择 Others 运行任意外部命令的示例。之后就会出现默认的 tasks.json 文件。

image-20200808172957742

修改 task.json。想要清理生成可执行文件过程中产生的文件的话,可以把 args 那一行的注释去掉。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build", // 任务名称,与 launch.json 的 preLaunchTask 相对应
            "type": "shell",
            "command": "make",
            // "args": ["clean"] // <=
        }
    ]
}

配置 launch.json

launch.json 用于指定与调试相关的设置。

首先创建 launch.json,选择添加配置。

image-20200808173342828

选择 C++ (GDB/LLDB)。之后就会出现默认的 launch.json 文件。

image-20200808173405083

修改 launch.json 文件。注意要将 preLaunchTask 的值改为与 tasks.json 中的 label 相同。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\gcd.exe", // 改为要调试的可执行文件路径
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build" // 注意此处
        }
    ]
}

到此,vscode 配置结束,C 与 C++ 开发环境搭建完毕。

0x02 参考资料

2019-2020 @lukbash