VS code 插件配置手冊

來源:OpenCV學堂 本文約4100字,建議閱讀8分鐘
本文為你介紹了常見的插件配置問題。
VS code 插件配置手冊
安裝
庫文件的配置
GDB本地調試配置
GDB遠程調試配置
安裝
環(huán)境配置
在本地端的配置
在遠程端的配置
工作流
安裝
環(huán)境配置
工作流
C/C++ Tools插件---C/C++支持
此擴展的預覽版本為C / C ++添加了對Visual Studio Code的語言支持,包括:
語言服務:
代碼格式(clang格式) 自動補全 符號搜索 簽名幫助 快速信息 轉到定義/聲明 查看定義/聲明 類/方法導航
支持調試Windows、Linux和macOS應用程序 斷點 變量查看 逐行代碼調試 支持多線程調試 支持核心轉儲調試
安裝

庫文件的配置
open settings json
選擇Preferences:Opem Settings (JSON),打開settings.json文件

在settings.json文件中添加:
/*****C/C++ Tools*****/
"C_Cpp.autocomplete": "Default",
"[cpp]": {
"editor.quickSuggestions": true
},
"[c]": {
"editor.quickSuggestions": true
},
"C_Cpp.default.cStandard": "c11",
"C_Cpp.default.cppStandard": "c++11",
/*****C/C++ Tools*****/
按F1打開命令行,輸入:
edit configuration json
選擇C/C++:Edit configurations (JSON),打開c_cpp_properties.json文件

在settings.json文件中添加:
{
"configurations": [
{
"name": "system", //系統類型
"includePath": [ //頭文件目錄,**表示匹配目錄文件及子目錄
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "path", //編譯器地址
"intelliSenseMode": "mode" //編譯器類型
"cStandard": "c11",
"cppStandard": "c++11"
}
],
"version": 4
}
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/opencv/build/include/opencv2/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "msvc-x64",
"cStandard": "c11",
"cppStandard": "c++11"
}
],
"version": 4
}
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"intelliSenseMode": "clang-x64",
"cStandard": "c11",
"cppStandard": "c++11"
}
],
"version": 4
}
GDB本地調試配置


{
// 使用 IntelliSense 了解相關屬性。
// 懸停以查看現有屬性的描述。
// 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名稱,將會在啟動配置的下拉菜單中顯示
"type": "cppdbg", // 配置類型,不需修改
"request": "launch", // 請求配置類型,可以為launch(啟動)或attach(附加)
"program": "${workspaceFolder}/bin文件", // 將要進行調試的程序的路徑
"args": [], // 程序調試時傳遞給程序的命令行參數,["arg1", "arg2].
"stopAtEntry": false, // 設為true時程序將暫停在程序入口處,一般設置為false
"cwd": "${workspaceFolder}", // 程序調試程序時要搜索的代碼的目錄
"additionalSOLibSearchPath": "path" // 程序調試程序時要搜索的.so文件的目錄(選填)
"environment": [], // 針對調試的程序,要添加到環(huán)境中的環(huán)境變量(選填)
"externalConsole": true, // 調試時是否顯示控制臺窗口,一般設置為true顯示控制臺
"MIMode": "gdb", // VSCode要使用的調試工具,必須設置為gdb或lldb
"miDebuggerPath": "path", // VSCode要使用的調試工具路徑(需要絕對路徑)
"preLaunchTask": "g++", // 調試開始前執(zhí)行的任務,需要配置tasks.json文件(選填)
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program":"${workspaceRoot}/bin/pthread.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGw\\bin\\gdb.exe"
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb local) L",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/pthread",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
打開側欄的“調試”界面->點擊“開始調試”按鈕,開始調試



{
// 使用 IntelliSense 了解相關屬性。
// 懸停以查看現有屬性的描述。
// 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名稱,將會在啟動配置的下拉菜單中顯示
"type": "cppdbg", // 配置類型,不需修改
"request": "launch", // 請求配置類型,可以為launch(啟動)或attach(附加)
"program": "${workspaceFolder}/bin文件", // 將要進行調試的程序的路徑
"args": [], // 程序調試時傳遞給程序的命令行參數,["arg1", "arg2].
"stopAtEntry": false, // 設為true時程序將暫停在程序入口處,一般設置為false
"cwd": "${workspaceFolder}", // 程序調試程序時的代碼所在的目錄
"additionalSOLibSearchPath": "path",// 程序調試程序時要搜索的.so文件的目錄(選填)
"environment": [], // 針對調試的程序,要添加到環(huán)境中的環(huán)境變量(選填)
"externalConsole": true, // 調試時是否顯示控制臺窗口,一般設置為true顯示控制臺
"MIMode": "gdb", // VSCode要使用的調試工具,必須設置為gdb或lldb
"miDebuggerPath": "path", // VSCode要使用的調試工具路徑(需要絕對路徑)
/**********與本地調試不同的地方**********/
"miDebuggerServerAddress": "addr:port", // 要遠程調試的地址,IP地址:端口號
"debugServerArgs": "args", // 調試器服務器的參數
/**********與本地調試不同的地方**********/
"preLaunchTask": "g++", // 調試開始前執(zhí)行的任務,需要配置tasks.json文件(選填)
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb server) L",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/pthread",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"externalConsole": true,
"MIMode": "gdb",
/**********與本地調試不同的地方**********/
"miDebuggerServerAddress": "192.168.0.100:2333",
"debugServerArgs": "",
/**********與本地調試不同的地方**********/
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
先遠程端:
打開一個新終端,運行gdbserver打開要調試的程序:
gdbserver localhost:port bin文件路徑(與launch.json文件配置路徑相同)
gdbserver localhost:2333 ./bin/pthread
若想關閉gdbserver,需要在遠程打開新終端,輸入:
killall gdbserver
打開側欄的“調試”界面->點擊“開始調試”按鈕,開始調試

Remote VSCode插件---遠程編輯文件
安裝

在本地端的配置

open settings json

/*****Remote VSCode*****/
"remote.host": "127.0.0.1",
"remote.port": 52698,
"remote.onstartup": false,
"remote.dontShowPortAlreadyInUseError": false,
/*****Remote VSCode*****/
在遠程端的配置
wget https://raw.githubusercontent.com/sclukey/rmate-python/master/bin/rmate
chmod +x ./rmate
mv ./rmate /usr/local/bin/rmate
工作流
remote:start server
選擇Remote:Start Server,開啟插件

remote:stop server :關閉插件

ssh -R 52698:127.0.0.1:52698 遠端用戶名@遠端地址
ssh -R 52698:127.0.0.1:52698 [email protected]
rmate -p 52698 打開要編輯的文件
如:
rmate -p 52698 ./main.cpp
Ftp Sync插件--—遠程代碼的同步
安裝

ftp-sync
選擇Ftp-sync: Init ,新建并打開ftp-sync.json文件,初始化配置

{
"remotePath": "path", //要傳輸的文件的遠端站點的目錄
"host": "host", //遠端地址
"username": "username", //遠端用戶名
"password": "password", //遠端密碼
"protocol": "sftp", //sftp協議,默認值為ftp協議
"port": 22, //ftp默認端口是21,sftp的默認端口是22
"uploadOnSave": false, //是否應該自動保存上傳文件,默認值為false
"secure": false, //安全設置,默認值為false
"ignore": [ //忽略上傳路徑
"\\.vscode",
"\\.git",
"\\.DS_Store"
],
"passive": false,
"debug": false,
"privateKeyPath": null,
"passphrase": null,
"agent": null,
"allow": [],
"generatedFiles": {
"extensionsToInclude": [
""
],
"path": ""
}
}
如:
{
"remotePath": "/home/linux/pro/",
"host": "192.168.0.111",
"username": "linux",
"password": "123456",
"protocol": "sftp",
"port": 22,
"uploadOnSave": false,
"secure": false,
"ignore": [
"\\.vscode",
"\\.git",
"\\.DS_Store"
],
"passive": false,
"debug": false,
"privateKeyPath": null,
"passphrase": null,
"agent": null,
"allow": [],
"generatedFiles": {
"extensionsToInclude": [
""
],
"path": ""
}
}
工作流
編輯:王菁
校對:林亦霖
評論
圖片
表情
