原文地址:https://blog.csdn.net/DefetC/article/details/79946100
参考了以下几篇文章:
https://www.zhihu.com/question/30315894/answer/154979413(虽然讲解的是Windows环境中的安装,但十分详尽,很有参考价值);
https://my.oschina.net/u/1044667/blog/832111;
https://blog.csdn.net/u011258217/article/details/78693564
一、vs code安装
直接在deepin商店下载即可。
二、安装gcc/g++
命令行: sudo apt-get install build-essential
三、插件安装
C/C++(制作者是microsoft,最基础的插件)
Code Runner(实用工具,可以选中代码块后,右键选择“run coder”直接运行代码,右上角也有快捷按钮)
下面的插件都是知乎那篇文章推荐的:
C/C++ Clang Command Adapter:提供静态检测(Lint)
Include Autocomplete:提供头文件补全
C/C++ Snippets:Snippets即重用代码块
其他可选插件:
Bracket Pair Colorizer:彩虹花括号
One Dark Pro:大概是VS Code安装量最高的主题
GBKtoUTF8:把GBK编码的文档转换成UTF8编码的
clang是和gcc/g++类似的编译器,区别不在此细究。知乎那篇文章推荐clang,不过我还没有研究其在linux的配制方法。本文使用g++作为编译器。
四、配置文件
用VSCode打开项目文件夹,打开一个源文件,直接快捷键ctrl + shift + D,点击设置图标,弹出的选择中选C++(GDB/LLDB),会自动创建项目的launch.json文件(官方文档 ),默认是调试配置。不过为什么不是运行配置?
修改其中的program字段值,改为编译生成的可执行文件路径。如 "program": "${workspaceRoot}/${fileBasenameNoExtension}.out"。即,若源文件是case.c,则将调试case.out文件。
给launch.json添加一个任务选项: "preLaunchTask": "build","preLaunchTask"可以是"build",也可以是“compile”,不过必须与tasks.json中的“label”一致(后面会提到)。
下面给出代码:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/${fileBasenameNoExtension}.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build"
}
]
}
接下来按F5调试,此时弹出一个信息框,选配置任务,选择后点击Others,跳出tasks.json(官方文档 )配置文件,配置一个名为”build“的任务。
直接贴代码吧:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks":
[
{
"label": "build",//任务名,和lanuch.json中的"preLaunchTask":"build"一致
"type": "shell",
"command": "g++",
"args":["-g","${workspaceRoot}/${fileBasenameNoExtension}.cpp","-o","${fileBasenameNoExtension}.out"],//要编译的文件mian_test.cpp,${workspaceRoot}表示vscode所打开的工作目录
"problemMatcher":
{
"owner":"cpp",
"fileLocation":["relative","${workspaceRoot}"],
"pattern":
{
"regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
"file": 1,
"line":2,
"column":3,
"severity": 4,
"location": 2,
"message": 5
}
}
}
]
}
五、解决一点小问题
接下来继续按F5,弹出一个问题:“Unable to start debugging. No terminal is available to launch the debugger. Please install Gnome Terminal or XTerm”
很好解决,只需要到deepin商店中下载gnome-terminal即可。
至此,环境已经初步建成。
六、细节
Ctrl+shift+d是编译,F5是编译+调试。
七、下一步安排
研究编译器clang的配置方法