Ubuntu16.04下配置VScode的C/C++开发环境

2020-03-29 14:01:06王振洲
main.out即可。具体更改如下:

 "program": "enter program name, for example ${workspaceFolder}/a.out",

改为

"program": "${workspaceFolder}/main.out",

该语句指的是当前工作文件夹下的main.out文件,更改完毕的launch.json文件见附录。

(4)添加构建(编译、链接等)任务(tasks.json)

为了方便在VScode里编译C++代码,我们可以将类似g++ -g main.cpp等g++命令写入VScode的任务系统。首先,利用快捷键ctrl+shift+p打开命令行,输入Tasks: Run task,会出现如下提示:

No task to run found. configure tasks...

回车,然后依次选择如下:

Create tasks.json file from template

Others Example to run an arbitrary external command.

生成默认的tasks.json文件如下:

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0",
 "tasks": [
 {
  "label": "echo",
  "type": "shell",
  "command": "echo Hello"
 }
 ]
}

这里的label为任务名,我们将”label"= "echo"改为”label"= "build"。由于我们的指令是g++,这里将”command“=”echo Hello“改为”command“=”g++“。然后添加g++的参数args。如果我们的g++指令为:g++ -g main.cpp,这里可以把参数设置为如下:

{
 "tasks": [
 {
  "label": "build",
  "type": "shell",
  "command": "g++",
  "args": ["-g", "${file}"]
 }
 ]
}

如果我们想配置g++指令为:g++ -g main.cpp -std=c++11 -o main.out,则参数可设置为:

{
 "tasks": [
 {
  "label": "build",
  "type": "shell",
  "command": "g++",
  "args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"]
 }
 ]
}

我们可以通过举一反三来配置不同的g++指令。完整的tasks.json文件可参考附录。

(5)简单断点调试

经过上述配置之后就可以对我们写的程序进行简单的配置。在进行下面的操作前,我们应当保证launch.jsontasks.json的正确性并且已经成功保存。

使用快捷键ctrl+shift+p调出命令行,选择执行我们的build任务,build成功后,点击开始调试。具体操作如下:

值得注意的是,这里如果每次更改了程序需要重新build,然后再进行调试;如果直接进行调试则运行的是上次build的结果。通过在launc.json作如下更改可以使得每次调试之前会自动进行build: