之前的時候我寫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的功能啦