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
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:
release/debug
and compiles the project in release or debug mode depending on the passed parameter value.vscode
directory in the workspace then create it on your ownAdd 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" }
]
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