下载安装Visual Studio Code
以下简称VSCode。
安装VSCode前提最后是下载并好git和MinGW,VSCode支持git插件
官网: https://code.visualstudio.com/
如下图所示
安装时选择的选择如下图所示
安装后重启电脑生效。
显示中文界面
Ctrl+Shift+P快捷键,输入“Configure Display Language”,选中该设置并回车。如下图6.所示。
若没有中文,则选择“Install additional languages”,在弹出的安装插件选项中安装中文,如下图所示
安装完毕后,IDE会提示IDE重启并生效,如下图所示
安装完毕后效果
解决中文乱码问题
对于个别代码打开后存在中文乱码的问题,可以通过修改打开方式来解决。
1.临时修改
IDE以UTF-8打开,显示正常,但有个别文件以GB2310保存,若不改变保存文件,仅仅对单个文件临时打开,如下图所示。
2.自动检测
通过菜单设置:文件——首选项——设置
文件编辑器——文件
勾选下图所示的选项。
安装C/C++扩展
在插件扩展商店安装C/C++扩展插件,如下图所示。
创建工程
在安装完MinGW之后GDB也一并安装。若缺少头文件,需要将MinGW的相关路径加入到代码路径中。
VSCode的配置文件会放到.vscode文件夹内
在测试代码的文件夹中通过VSCode打开,如下图所示。
选择运行调试
选择运行和调试按钮,按F5进行自动配置,也可以选择自定义运行和调试
自动配置时的选择如下图所示
当配置成功时,如下图所示,代码即可在断点处停止,进行单步调试
launch.json配置
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++.exe build active file"
}
]
}
tasks.json配置
{
// 有关 tasks.json 格式的文档,请参见
// https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++.exe build active file",
"command": "C:\\MinGW\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\MinGW\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
}
GDB失败解决
当运行调试时出现GDB失败,如下图所示
将json里面对GDB描述的地址替换
json的GDB描述地址:
“miDebuggerPath”: “C:\MinGW\bin\gdb.exe”,
替换成新的描述地址
“miDebuggerPath”: “C:/MinGW/bin/gdb.exe”,
快捷键
注释:Ctrl + /
1、采用// 注释
注释/取消注释单行:光标放到该行上:ctrl + /
注释/取消注释多行:鼠标选择多行:ctrl + /
2、采用/* */ 注释
注释/取消注释:鼠标选择单行或多行,需要全包住内容:shift + alt + A
文件间切换:Ctrl + Tab
跳转行数:Ctrl + g
搜索/替换:Ctrl + f
该快捷键的搜索范围为文件搜索。
在工具右边的侧边栏为全局搜索。
关闭当前文件:Ctrl + w
查看函数的引用:Shift + F12
或者光标定位到函数处,鼠标右键—>转到引用,效果相同
前进/后退:Alt -> / Alt <-
开发插件
远程开发:Remote Development
VSCode通过Remote Development插件远程连接Linux服务器,到服务器环境上去修改和编译代码。优点是本地没有代码工程,适合便携应急使用,缺点是一旦服务器断开连接或服务器崩溃,工程代码将被毁灭,不符合git分布式的需求。
安装openssh
远程服务器Linux需要安装openssh-server
sudo apt-get install openssh-server
本地开发主机需要安装openssh-client
sudo apt-get install openssh-client
在Windows中,安装了git后就会自带有openssh-client客户端,配置环境变量如下图所示
安装Remote Development插件
在VSCode插件扩展商店安装Remote Development插件如下图所示
如下图所示设置连接成功后自动打开终端
连接到远程服务器
在连接选项菜单栏,单击添加按钮,输入ssh登录格式,格式为usermane@IP,如下图所示。
免密登录
本地开发主机端生成ssh-key,ssh-key不带密码
ssh-keygen -t rsa
生成sshkey时,注意选择地址,不覆盖本地默认的的sshkey
将id_rsa.pub写入远程服务器的authorized_keys文件中
该文件在当前用户.ssh文件夹下,没有就创建一个
配置生成在指定位置的sshkey,如下图所示。
配置后再次连接时,输入一遍用户密码。
连接成功,如下图所示编写代码之后通过终端构建工程。
若连接失败,吧Linux服务器上的~/.vscode-server文件夹删除,重新连接即可。
添加make编译
通过VSCode终端,可以直接make和make clean,但VSCode可以将这两个命令整合到任务中,在.vscode文件夹下创建一个tasks.json文件,填入以下内容。
{
"tasks": [
{
"label": "make",
"type": "shell",
"command": "make",
"args": [],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [ //用于捕获错误
"$gcc",
],
},
{
"label": "make clean",
"type": "shell",
"command": "make",
"args": ["clean"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc",
],
}
]
}
在终端中就可执行任务,或者快捷键Ctrl+Alt+B调出任务选项如下图所示。
执行结果如下图所示。
远程调试
远程服务器安装gdbserver
sudo apt-get install gdbserver
本地开发主机配置,如下图所示
在调试选项,根据提示按F5系统生成一个默认的lanch.json,根据这个默认的lanch修改对应属性。
添加远程调试主机IP和端口,端口可设置成任意值,但要避开主流的端口。
"miDebuggerServerAddress": "192.168.101.54:55555",
修改需要调试的运行文件,运行文件和args传值要与远程服务器Linux端保持一致。
"program": "${workspaceFolder}/test.o",
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) debug",
"type": "cppdbg",
"request": "launch",
"miDebuggerServerAddress": "192.168.101.54:55555", //添加调试IP和端口
"program": "${workspaceFolder}/test.o", //设置对应路径下的执行文件
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
远程服务器Linux执行
gdbserver localhost:55555 test.o
本地开发主机即可打断点,开启调试即可远程调试,如下图所示。
远程开发:SFTP
与Remote Development对比,工程代码保存在本地开发主机上修改,然后通过SFTP将改动部分同步至远程Linux服务器,并结合Remote Development编译和调试。最保险的方式就是开启两个窗口,一个是修改代码窗口STFP,另一个是调试窗口Remote Development,若工程是ARM平台,则最好使用SFTP。
安装SFTP
在插件工具中查找sftp并安装,如下图所示。
配置SFTP
确保本地开发主机与远程服务器保持一致,用VSCode打开本地开发主机的代码。
按快捷键Shift + Ctrl + P 输入SFTP:Config进入SFTP配置,如下图所示。
配置的sftp.json
{
"name": "Linux Server",
"host": "192.168.101.54",
"protocol": "sftp",
"port": 22,
"username": "linux user name",
"password": "linux user passwd",
"remotePath": "linux_addr/protobuf_test",
"uploadOnSave": true,
"ignore": [
".vscode",
".git",
".DS_Store",
"*.o"
]
}
解释:
“remotePath”:
remotePath :后面跟着的为远程服务器对应的代码地址
ignore :填的内容为过滤的文件夹和文件
同步代码
当配置好sftp后,只要本地代码保存,即可自动同步到远程服务器代码中,如下图所示。
同时也可以手动同步,在文件点右键或者对着文件点击右键,Upload为同步到远程服务器,Download为下载远程服务器的更新。如下图所示。
书签标记:Bookmarks
如下图所示安装插件,通过打标签的形式跳转代码。
同时工具栏内可以管理当前的标签,并且可以对标签命名,如下图所示
快捷键
Ctrl + Alt + K :打书签;取消书签
Ctrl + Alt + J :跳转上一个书签
Ctrl + Alt + L :跳转下一个书签(容易误操作,例如锁定QQ)
修改快捷键
文件—>首选项—>快捷方式
Ctrl + Alt + K :打书签;取消书签
Ctrl + Alt + U :跳转上一个书签
Ctrl + Alt + N :跳转下一个书签
括号分色:Bracket Pair Colorizer
如下图所示,安装之后对不同的括号进行分色处理。
git管理插件:GitLens
插件的安装以及管理界面如下图所示
点击对应的代码,就会出现该代码提交的信息,同时可以查看具体提交信息,如下图所示
git查看历史Git Graph
安装完之后在git工具栏调出,可以查看git各个分支提交的历史并进行查看,如下图所示。
关键字高亮:highlight-words
安装插件如下图所示
配置键盘快捷键,如下图所示
关键字高亮效果如下图所示
查看缩进:indent-rainbow
插件安装如下图所示
单词拼写检查:Code Spell Checker
插件安装如下图所示
安装完插件后,可以对代码中的单词拼写进行检查,并提出修改建议,如下图所示。
文件图标显示:vscode-icons
插件安装如下图所示
安装完插件后,文件图标显示为对应文件提示,如下图所示