去VSCode官网下载 deb 安装包,
运行命令安装即可
$ sudo dpkg -i code_1.67.2-1652812855_amd64.deb
安装成功,去Ubuntu搜索vscode,打开即可。
为了以后方便使用,也可以直接拖拽到菜单栏。
可以根据自己的需要安装常用的插件了,C/C++插件是开发C++必须的。
C/C++,肯定是必须的。
C/C++ Snippets,即 C/C++重用代码块。
C/C++ Advanced Lint,即 C/C++静态检测 。
Code Runner,即代码运行。
Include AutoComplete,即自动头文件包含。
Rainbow Brackets,彩虹花括号,有助于阅读代码。
One Dark Pro,VSCode 的主题。
GBKtoUTF8,将 GBK 转换为 UTF8。
ARM,即支持 ARM 汇编语法高亮显示。
compareit,比较插件,可以用于比较两个文件的差异。
DeviceTree,设备树语法插件。
TabNine,一款 AI 自动补全插件,强烈推荐,谁用谁知道!
新建一个工程目录和一个测试文件,比如main.cpp,按F5(编译并调试),会提示“选择环境”,
这时选择C++(GDB/LLDB),选择配置则选择“默认配置”(先随便选一个,后面修改配置文件直接全部替换掉),弹出
然后继续打开,会新建 launch.json(在刚才新建代码目录的.vscode里),这就是调试运行的配置文件。将 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", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}/${fileBasenameNoExtension}.out", // 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true
"cwd": "${workspaceFolder}", // 调试程序时的工作目录
"environment": [],
"externalConsole": false, // 调试时是否显示控制台窗口,一般设置为true显示控制台,
// 但是最新版cpptools有BUG,具体请看文末的注意
"internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
"MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。
"miDebuggerPath": "gdb", // 调试器路径,Windows下后缀不能省略,Linux下则去掉
"setupCommands": [ // 用处未知,模板如此
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
],
"preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
}
]
}
再次按F5,弹框选“配置任务”,随便选一种方式,比如msbuild,创建 tasks.json(task.json和launch.json是在一个目录下),
将 tasks.json原来的内容替换为:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
"command": "g++", // 要使用的编译器, C就写gcc
"args": [
"${file}",
"-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
"${fileDirname}/${fileBasenameNoExtension}.out",
"-g", // 生成和调试有关的信息
//"-Wall", // 开启额外警告
"-static-libgcc", // 静态链接
"-std=c11" // C语言最新标准为c11,或根据自己的需要进行修改比如C++17
], // 编译命令参数
"type": "shell", // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令
"group": {
"kind": "build",
"isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提
},
"presentation": {
"echo": true,
"reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never。具体参见VSC的文档
"focus": true, // 设为true后可以使执行task时焦点聚集在终端
"panel": "shared" // 不同的文件的编译信息共享一个终端面板
},
//"problemMatcher": "$gcc"
}
]
}
配置好 launch 和 tasks 后,调试就行了,编译路径中一定不能含有中文。
$ g++ /home/shouyuanman/workspace/cpp/main.cpp -o /home/shouyuanman/workspace/cpp/main.out -g -static-libgcc -std=c11
参考:
Ubuntu——安装 VScode并配置C/C++(CPP)开发环境的一种方法_William.csj的博客-CSDN博客_ubuntu安装vscode
Have Fun