首先说明本人的环境为Ubuntu20.04LTS
官网下载地址
wget -c -P ~/Downloads https://vscode.cdn.azure.cn/stable/ff915844119ce9485abfe8aa9076ec76b5300ddd/code-stable-1587060099.tar.gz
# 下载安装包,参数-c为断点续传,-P为指定保存目录
cd ~/Downloads
cd ~/Downloads
# 进入目录
tar zxvf code-stable-1587060099.tar.gz
# 解压安装包
sudo mv -r VSCode-linux-x64 /opt
# 解压后的文件移动到指定目录
sudo ln -s /opt/VSCode-linux-x64/code /usr/bin/code
# 创建软链接命令
code
# 打开软件
个人比较喜欢ALT+F2
命令启动软件
这里给出添加启动图标和固定到dock的方法
cd /usr/share/applications
# 进入桌面文件目录
sudo touch vscode.desktop
# 创建桌面文件
sudo vim vscode.desktop
# 编辑
添加文件内容如下:
[Desktop Entry]
Name=VSCode
Comment=code
Exec=/opt/VSCode-linux-x64/code
Icon=/opt/VSCode-linux-x64/resources/app/resources/code.png
Terminal=false
Type=Application
Categories=Application;
Encoding=UTF-8
StartupNotify=true
本人是用Sync setting
同步的VSCode
设置,所以这里直接使用同步的方法设置
这里直接给我的配置地址(Windows 可用)
原本在这里放了3个配置,都被清空了,还不止一次,隐藏了,要的话可以留言或者私信
同步完设置后请清空Gist ID
后按自己的需求和喜好增加或者删除插件
在扩展商店搜索setting sync 安装
在窗口输入Gist ID
和token
然后Shift+ Alt +D
下载设置,可以看到code下面输出栏提示正在安装插件,完成后重新启动VSCode
,下面列出的插件会全部被安装
这里列出我的插件
Bracket Pair Colorizer 2
# 彩色括号
carbon-now-sh
# 代码用图片形式分享
Change Case
# 快速变换大小写
Chinese (Simplified) Language Pack for Visual Studio Code
# 界面设置为中文
Code Runner
# 一键运行代码
Codelf
# 变量命名
GitLens — Git supercharged
# git扩展
indent-rainbow
# 彩色缩进
koroFileHeader
# 自动插入文件头
Local History
# 在本地自动保存副本,快速回滚
Markdown All in One
# Markdown支持
Partial Diff
# 文件比较,代码比较插件
Rainbow Brackets
# 彩色括号
rainbow-highlighter
# 直观的变量区分
Todo Tree
# 待办事项,TODO、FIXME、NOTE支持自定义
Vim
# vim插件,使支持Vim的操作
vscode-icons
# 图标插件
python
# python
C/C++
# C/C++
关于VSCode
的基本设置和上述插件的部分设置可以查看settings.json
进行调整
g++ -v
# 查看
如果没有安装
sudo apt install gcc
sudo apt install g++
g++ -v
写一小段代码test.cpp
#include
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return 0;
}
由于安装了code runner
插件,只要点击代码区右上角的三角形(Run Code)
就可以直接运行代码
如果想要进行断点调试还需要配置调试环境
launch.json
为执行文件,负责启动任务
按F5调试,出现调试环境,选择C++(GDB/LLDB)
---- 默认配置
,开始配置launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/Debug/${fileBasenameNoExtension}.out", //可执行文件的路径,必须和tasks.json中生成的文件路径一致
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "Test-Debug", //需要自行添加,非常重要
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
tasks.json
为任务配置文件,负责编译和链接生存目标文件
直接在生成的 .vsocde
文件夹新建一个tasks.json
添加内容
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Test-Debug", //必须和上面Launch.json中preLaunchTask一样
"type": "shell",
"command": "g++",
"args": [
"-Wall",
"-g",
"${file}",
"-o",
"Debug/${fileBasenameNoExtension}.out" //在Debug文件夹中生成同名目标文件
]
}
]
}
在.vscode
文件夹新建文件c_cpp_properties.json
添加内容
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/c++/9",
"/usr/include/x86_64-linux-gnu/c++/9",
"/usr/include/c++/9/backward",
"/usr/lib/gcc/x86_64-linux-gnu/9/include",
"/usr/local/include",
"/usr/include/x86_64-linux-gnu",
"/usr/include"
],
"defines": [],
"compilerPath": "/usr/bin/cpp",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
如果你的系统环境和我的不一样,上述includepath
可用命令查看,进行替换
gcc -v -E -x c++ -
make -v
如果没有安装
sudo apt install make
make -v
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Test-Make", //必须和上面Launch.json中preLaunchTask一样
"type": "shell",
"command": "make",
}
]
}
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/Test", //可执行文件的路径,必须和tasks.json中生成的文件路径一致
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "Test-Make",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
Makefile的编写还是需要自己学习,这里举个简单的例子方便理解
main.cpp``````test.cpp``````head.h
三个文件和Makefile文件
// main.cpp
#include
#include"head.h"
using namespace std;
int main()
{
int get_num(void);
int test(int,int);
int a,b,c;
a = get_num();
b = get_num();
c = test(a,b);
cout << "The number is: "<< c << endl;
return 0;
}
// test.cpp
#include
using namespace std;
int get_num(void)
{
int a;
cout << "Enter a number:"<< endl;
cin >> a;
return a;
}
// head.h
int test(int x, int y)
{
if(x>y)
return x;
else
return y;
}
# Makefile
Test: main.o test.o
g++ -o Test main.o test.o
main.o: main.cpp head.h
g++ -g -c main.cpp
test.o: head.h test.cpp
g++ -g -c test.cpp
clean:
rm main.o test.o
当程序执行make
的命令时,会找到对应的Makefile
文件,把文件里的命令全部执行一遍,这里的Makefile
文件已经尽量细化,应该可以看懂