VS code 插件配置手冊
點擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達
VS code 插件配置手冊
C/C++ Tools插件---C/C++支持安裝庫文件的配置GDB本地調(diào)試配置GDB遠程調(diào)試配置Remote VSCode插件---遠程編輯文件安裝環(huán)境配置在本地端的配置在遠程端的配置工作流Ftp Sync插件--—遠程代碼的同步安裝環(huán)境配置工作流
此擴展的預(yù)覽版本為C / C ++添加了對Visual Studio Code的語言支持,包括:
語言服務(wù):
代碼格式(clang格式)
自動補全
符號搜索
簽名幫助
快速信息
轉(zhuǎn)到定義/聲明
查看定義/聲明
類/方法導(dǎo)航
調(diào)試:
支持調(diào)試Windows、Linux和macOS應(yīng)用程序
斷點
變量查看
逐行代碼調(diào)試
支持多線程調(diào)試
支持核心轉(zhuǎn)儲調(diào)試
在VSCode的擴展插件中找到C/C++插件并進行安裝;?

Windows下想開發(fā)Linux代碼需要安裝Mingw開發(fā)工具
打開項目到工作區(qū),
按F1打開命令行,輸入:
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",????????????????//系統(tǒng)類型
????????????"includePath":?[????????????????//頭文件目錄,**表示匹配目錄文件及子目錄
????????????????"${workspaceFolder}/**"
????????????],
????????????"defines":?[],
????????????"compilerPath":?"path",????????????//編譯器地址
????????????"intelliSenseMode":?"mode"????????//編譯器類型?
????????????"cStandard":?"c11",
????????????"cppStandard":?"c++11"
????????}
????],
????"version":?4
}
如:
Windows :
{
????"configurations":?[
????????{
????????????"name":?"Win32",????????????????
????????????"includePath":?[????????????????
????????????????"${workspaceFolder}/**",
????????????????"C:/opencv/build/include/opencv2/**"
????????????],
????????????"defines":?[
????????????????"_DEBUG",
????????????????"UNICODE",
????????????????"_UNICODE"
????????????],
????????????"intelliSenseMode":?"msvc-x64",
????????????"cStandard":?"c11",
????????????"cppStandard":?"c++11"
????????}
????],
????"version":?4
}
Linux:
{
????"configurations":?[
????????{
????????????"name":?"Linux",????????????????
????????????"includePath":?[????????????????
????????????????"${workspaceFolder}/**"
????????????],
????????????"defines":?[],
????????????"compilerPath":?"/usr/bin/gcc",
????????????"intelliSenseMode":?"clang-x64",
????????????"cStandard":?"c11",
????????????"cppStandard":?"c++11"
????????}
????],
????"version":?4
}
打開項目到工作區(qū),
打開側(cè)欄的“調(diào)試”界面->點擊“設(shè)置”按鈕,選擇C++(GDB/LLDB)選項:


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

GDB遠程調(diào)試配置
打開項目到工作區(qū),
打開側(cè)欄的“調(diào)試”界面->點擊“設(shè)置”按鈕,選擇C++(GDB/LLDB)選項:


打開launch.json文件,在文件中添加:
{
????//?使用 IntelliSense 了解相關(guān)屬性。?
????//?懸停以查看現(xiàn)有屬性的描述。
????//?欲了解更多信息,請訪問:?https://go.microsoft.com/fwlink/?linkid=830387
????"version":?"0.2.0",
????"configurations":?[
????????{
????????????"name":?"(gdb)?Launch",????????//?配置名稱,將會在啟動配置的下拉菜單中顯示
????????????"type":?"cppdbg",????????????//?配置類型,不需修改?
????????????"request":?"launch",????????//?請求配置類型,可以為launch(啟動)或attach(附加)??
????????????"program":?"${workspaceFolder}/bin文件",????//?將要進行調(diào)試的程序的路徑??
????????????"args":?[],????????????????????//?程序調(diào)試時傳遞給程序的命令行參數(shù),["arg1",?"arg2].?
????????????"stopAtEntry":?false,????????//?設(shè)為true時程序?qū)和T诔绦蛉肟谔帲话阍O(shè)置為false?
????????????"cwd":?"${workspaceFolder}",????????//?程序調(diào)試程序時的代碼所在的目錄
????????????"additionalSOLibSearchPath":?"path",//?程序調(diào)試程序時要搜索的.so文件的目錄(選填)
????????????"environment":?[],????????????//?針對調(diào)試的程序,要添加到環(huán)境中的環(huán)境變量(選填)
????????????"externalConsole":?true,????//?調(diào)試時是否顯示控制臺窗口,一般設(shè)置為true顯示控制臺?
????????????"MIMode":?"gdb",????????????//?VSCode要使用的調(diào)試工具,必須設(shè)置為gdb或lldb
????????????"miDebuggerPath":?"path",????//?VSCode要使用的調(diào)試工具路徑(需要絕對路徑)
????????????/**********與本地調(diào)試不同的地方**********/
????????????"miDebuggerServerAddress":?"addr:port", ???//?要遠程調(diào)試的地址,IP地址:端口號
????????????"debugServerArgs":?"args",????????????????//?調(diào)試器服務(wù)器的參數(shù)????????
????????????/**********與本地調(diào)試不同的地方**********/
????????????"preLaunchTask":?"g++",?????//?調(diào)試開始前執(zhí)行的任務(wù),需要配置tasks.json文件(選填)
????????????"setupCommands":?[
????????????????{
????????????????????"description":?"Enable?pretty-printing?for?gdb",
????????????????????"text":?"-enable-pretty-printing",
????????????????????"ignoreFailures":?true
????????????????}
????????????]
????????}
????]
}
如:
Linux:
{
????"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",
???????????/**********與本地調(diào)試不同的地方**********/
????????????"miDebuggerServerAddress":?"192.168.0.100:2333",
??????????????"debugServerArgs":?"",
???????????/**********與本地調(diào)試不同的地方**********/
????????????"setupCommands":?[
????????????????{
????????????????????"description":?"Enable?pretty-printing?for?gdb",
????????????????????"text":?"-enable-pretty-printing",
????????????????????"ignoreFailures":?true
????????????????}
????????????]
????????}
????]
}
先遠程端:
打開一個新終端,運行g(shù)dbserver打開要調(diào)試的程序:
gdbserver?localhost:port?bin文件路徑(與launch.json文件配置路徑相同)如:
gdbserver?localhost:2333?./bin/pthread若想關(guān)閉gdbserver,需要在遠程打開新終端,輸入:
killall?gdbserver??再在本地端:
打開側(cè)欄的“調(diào)試”界面->點擊“開始調(diào)試”按鈕,開始調(diào)試
Remote VSCode插件---遠程編輯文件
此擴展允許您輕松地獲取并編輯遠端文件,而不是使用命令行和 vi 編輯遠端文件這種原始的操作。
在VSCode的擴展插件中找到Remote VSCode插件并進行安裝;?

環(huán)境配置
在本地端的配置
右鍵點擊“Remote VSCode插件”->“配置擴展設(shè)置”,在設(shè)置頁面設(shè)置相應(yīng)參數(shù):
Remote:Host(本地IP地址)設(shè)置為:127.0.0.1
Remote:Port(本地通信端口)設(shè)置為:52698
Remote:Onstartup(插件自啟動)設(shè)置為:false
Remote:Dont Show Port Already In Use Error(端口正在使用時不報錯)設(shè)置為:false

或者,按F1打開命令行,輸入:
open?settings?json
選擇Preferences:Opem Settings (JSON),打開settings.json文件

在settings.json文件中添加:
/*****Remote?VSCode*****/
"remote.host":?"127.0.0.1",
"remote.port":?52698,
"remote.onstartup":?false,
"remote.dontShowPortAlreadyInUseError":?false,
/*****Remote?VSCode*****/
在遠程端的配置
遠程Linux安裝 rmate:
wget?https://raw.githubusercontent.com/sclukey/rmate-python/master/bin/rmate
chmod?+x?./rmate
mv?./rmate?/usr/local/bin/rmate
啟動插件
按F1打開命令行,輸入:
remote:start?server
選擇Remote:Start Server,開啟插件

附件:
使用命令行:
remote:start server?:開啟插件
remote:stop server?:關(guān)閉插件
連接遠程系統(tǒng),傳輸編輯文件:
本地:
打開上方工具欄”終端”->“新建終點”,或按ctrl + shift + `快捷鍵,打開PowerShell終端:

在終端窗口中輸入:
ssh?-R?52698:127.0.0.1:52698?遠端用戶名@遠端地址
如:
ssh?-R?52698:127.0.0.1:[email protected]
之后輸入密碼ssh連接遠程Linux系統(tǒng)即可。
遠端:
在遠端終端中輸入:
rmate?-p?52698?打開要編輯的文件
如:
rmate?-p?52698?./main.cpp
Ftp Sync插件--—遠程代碼的同步
此擴展允許您輕松地將項目文件 通過FTP與遠端同步。
在VSCode的擴展插件中找到Ftp-Sync插件并進行安裝;?

環(huán)境配置
新建一個目錄,并打開到工作區(qū)
按F1打開命令行,輸入:
ftp-sync
選擇Ftp-sync: Init?,新建并打開ftp-sync.json文件,初始化配置

在ftp-sync.json文件中配置:
{
????"remotePath":?"path",????????//要傳輸?shù)奈募倪h端站點的目錄
????"host":?"host",????????????????//遠端地址
????"username":?"username",????????//遠端用戶名
????"password":?"password",????????//遠端密碼
????"protocol":?"sftp",?????????//sftp協(xié)議,默認值為ftp協(xié)議
????"port":?22,?????????????????//ftp默認端口是21,sftp的默認端口是22
????"uploadOnSave":?false,????????//是否應(yīng)該自動保存上傳文件,默認值為false
????"secure":?false,????????????//安全設(shè)置,默認值為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":?""
????}
}
使用命令行:
Ftp-sync: Sync Local to Remote?: 本地同步到遠程
Ftp-sync: Sync Remote to Local?: 遠程同步到本地
Ftp-sync: Commit?: 提交修改
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

