vscode c++ cmake template project

VSCode configure C++ dev environment

claim

use CMake to build the project.

For debugging, VSCode's CMake plugins needs cmake version >=3.7.1, and ubuntu16.04 apt gives cmake 3.5, thus I don't use VSCode CMake extension. I'll use VSCode's tasks, they are flexible.

steps

create backbone code

Create your codes, including:

  • CMakeLists.txt
  • compile.sh
  • src/

You can copy from my template.

create build and run tasks (tasks.json)

Use Ctrl+Shift+P command, and select >tasks: configure task, then choose other build systems.

Then in tasks.json, write these (including the building and run tasks):

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "CMake build",
            "type": "shell",
            "command": "./compile.sh",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [
                "$gcc"
            ]
        },
        {
            "label": "run",
            "type": "shell",
            "command": "./build/blob_demo",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [
                "$gcc"
            ]
        }
    ]
}

Then, Ctrl+Shift+P, type Tasks: Run Task, choose build or run tasks that you just created.

debug the program (launch.json)

Since I use cmake to build my project, I set debug mode support in compile.sh, which actually pass -DCMAKE_BUILD_TYPE=Debug to cmake.

Go to debugger button, and add a new configuration, by choosing C++(GDB/LLDB). This will create a launch.json file. Its content would be like this:

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/blob_demo",  #!! change here for your config
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

Then, in any of your .cpp file, clicking a breakpoint, and in debugging button page, start it.

猜你喜欢

转载自www.cnblogs.com/zjutzz/p/9389106.html