之前的时候我写C/C++代码喜欢在Linux下用vim(一开始甚至都没装代码补全插件),后来入了Clion的坑,感觉IDE还是太方便了,但是毕竟还是有许多场景只能在Linux下完成,于是就经常还是需要用vim、gdb这些东西,用惯了IDE之后就觉得挺麻烦的。最近尝试了一下vscode的远程开发功能,就俩字:真香,写篇文章记录一下,以防我下次配置的时候忘记了。
vscode配置远程开发环境
检查服务器是否安装ssh服务
服务器使用命令netstat -tanp
查看是否存在sshd
一般这一步都不会有什么问题,没有的需要安装一下ssh服务
vscode上安装Remote Development插件
直接在vscode的插件商店搜索Remote Development
,点击安装, 其依赖插件会自动安装
配置服务器信息
首先打开配置文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bEX6r7xA-1584514534789)(https://zhangyuzechn.cn/wp-content/uploads/2020/03/打开配置文件.png)]
之后在配置文件中写入自己的服务器信息
ip地址可通过ifconfig
命令查看,或者在服务器运营商控制台查看
连接服务器
之后输入用户名对应的密码就可以成功连接,然后在左上角的文件窗口打开服务器中对应的项目文件夹就可以愉快的coding了
调试运行C++代码
能够使用F5直接运行代码并且能使用vscode的可视化调试功能才是最重要的
安装环境插件
在vscode中,本地环境和远程环境使用的是不同的插件,所以为了编译运行C/C++,需要在远程环境中重新安装一遍C++插件
在插件商店进行搜索安装即可
配置tasks.json
从菜单栏选择Terminal>Configure Default Build Task, 在下拉栏里选择C/C++: g++ build active file. 这会生成tasks.json文件,这里备份并分享一下我的tasks.json
{ // 有关 tasks.json 格式的文档,请参见 // https://go.microsoft.com/fwlink/?LinkId=733558 "version": "2.0.0", "tasks": [ { "type": "shell", "label": "g++ build active file", "command": "/usr/bin/g++", "args": [ "-std=c++11", "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "/usr/bin" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true } }, { //删除二进制文件 "type": "shell", "label": "delete output file", "command": "rm", "args": [ "${fileDirname}/${fileBasenameNoExtension}" ], "presentation": { "reveal": "silent", //删除过程不切换终端(专注程序输出) } } ] }
配置launch.json
在菜单栏选择Debug>Add Configuration, 选择C++ (GDB/LLDB), 在下拉栏中选择g++ build and debug active file.这会创建launch.json,我的配置如下:
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "g++ build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "g++ build active file", "postDebugTask": "delete output file", "miDebuggerPath": "/usr/bin/gdb" } ] }
然后就能在使用Linux环境的同时在Windows下享受vscode的功能啦