How to prepare/configure development environment for C++ projects in Visual Code Editor?

前端 未结 2 1721
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-23 04:28

I\'m working with JavaScript projects using nodejs and visual code editor. I wonder is it possible to configure such a great code editor for C++ projects.

I want to link

相关标签:
2条回答
  • 2021-01-23 05:23

    I want to link the debugger

    This is currently not possible until there is a public extension API available. I expect it to come in November or December this year.

    I want to [...] make some hotkeys for building the debug/release versions of project.

    You can do it right now if there is only one project you want to compile in your workspace. This is how to do it:

    • Open the root folder of your project in VSCode (this is your workspace)
    • Place a batch/shell script in the workspace that accepts a parameter with a value of release/debug and compiles the project in release or debug mode depending on the passed parameter value
    • In case there is no .vscode directory in the workspace then create it on your own
    • Add a file tasks.json to that folder having this content:

      {
        "version": "0.1.0",
        "command": "${workspaceRoot}/CompileProject.bat",
        "tasks": [
           {
                "taskName": "Compile debug build",
                "args": [
                  "debug" 
                ],
                "isTestCommand": true            
           },
           {
                "taskName": "Compile release build",
                "args": [
                  "release" 
                ],
                "isBuildCommand": true            
           }         
        ]
      }
      

    You can trigger Compile debug build with CTRL + Shift + T and Compile release build with CTRL + Shift + B.

    You can change the keybindings by going to File -> Preferences -> Keyboard Shortcuts and define your preferred shortcuts for the commands workbench.action.tasks.test and workbench.action.tasks.build. Example:

    [
        { "key": "f5",          "command": "workbench.action.tasks.test" },
        { "key": "f6",          "command": "workbench.action.tasks.build" } 
    ]
    
    0 讨论(0)
  • 2021-01-23 05:27

    Use the following in the tasks.json file, changing "helloworld" strings as appropriate.

    // Available variables which can be used inside of strings.
    // ${workspaceRoot}: the root folder of the team
    // ${file}: the current opened file
    // ${fileBasename}: the current opened file's basename
    // ${fileDirname}: the current opened file's dirname
    // ${fileExtname}: the current opened file's extension
    // ${cwd}: the current working directory of the spawned process
    
    {
        "version": "0.1.0",
        "command": "gcc",
        "args": ["-Wall", "helloWorld.c", "-o", "helloWorld"],
        "problemMatcher": {
            "owner": "cpp",
            "fileLocation": ["relative", "${workspaceRoot}"],
            "pattern": {
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            }
        }
    }
    

    EDIT: This requires gcc to be available on the path. The build can be triggered with Ctrl + shift + b. Debugger is not available yet AFAIK

    0 讨论(0)
提交回复
热议问题