下載安裝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
插件安裝如下圖所示
安裝完插件後,文件圖標顯示爲對應文件提示,如下圖所示