VScode-配置C/C++
環境
準備工作
下載並安裝相應軟件
- 下載VScode最新版,第一次使用VS Code時你應該知道的一切配置,按照這篇文章安裝相應插件
- 下載並安裝MingW-64,驗證是否安裝好MingW,驗證方式:
命令行cmd,輸入g++ -v
,``gcc -v,gdb -v
若輸出一大段信息,則說明安裝成功(此處不詳述,自行百度)
添加MingW環境變量
- 環境變量
- windows環境下,右鍵點擊此電腦 -> 屬性 -> 高級系統設置 -> 高級 -> 環境變量打開如下圖所示窗口
- 點擊新建添加一個環境變量,點擊編輯修改一個環境變量,變量名和變量值設置時,不要含有空格,也不要使用中文,多個路徑之間使用; 分隔。通常情況下用戶變量一經修改後會立即生效,而系統變量需要重啓電腦後才能生效,對於正在運行的程序需要關閉後再重新運行,新設置才能生效
- 添加MingW環境變量
將
Mingw
所在的bin
文件夾添加到環境變量的path
中去,比如我將 Mingw 下載到了 E 盤,添加環境變量示例如下:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6Lvd4xT0-1584415323383)(https://s1.ax1x.com/2020/03/16/8tejpV.png)]
工作空間設置,只針對當前項目有效。比如說我們可以在這裏面要求當前項目的代碼統一使用製表符,而不需要要求每一個團隊成員去修改各自的配置文件。
- 驗證
MinGW安裝並導入文件後,其中包含了C與C++這兩個編譯環境,操作:win + R
,輸入cmd
進入命令行模式,輸入gcc --h
和g++ --h
,(h前面有兩個 -
)具體操作如下:如未出現,可以嘗試重啓電腦;
vscode 全局變量
- {workspaceRoot} VS Code當前打開的文件夾
- \${file} 當前打開的文件
- \${relativeFile} 相對於workspaceRoot的相對路徑
- \${fileBasename} 當前打開文件的文件名
- \${fileDirname} 所在的文件夾,是絕對路徑
- \${fileExtname} 當前打開文件的拓展名,如.json
- \${cwd} the task runner's current working directory on startup
.vscode
文件夾的作用
在項目的根目錄下新建一個
vscode
文件夾,說明這個文件夾代表的是當前項目的配置工作空間設置,只針對當前項目有效。比如說我們可以在這裏面要求當前項目的代碼統一使用製表符,而不需要要求每一個團隊成員去修改各自的配置文件。
lunch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名稱,將會在啓動配置的下拉菜單中顯示
"type": "cppdbg", // 配置類型,cppdbg對應cpptools提供的調試功能;可以認爲此處只能是cppdbg
"request": "launch", // 請求配置類型,可以爲launch(啓動)或attach(附加)
"program": "${fileDirname}/${fileBasenameNoExtension}.o", // 將要進行調試的程序的路徑
"args": [], // 程序調試時傳遞給程序的命令行參數,一般設爲空即可
"stopAtEntry": false, // 設爲true時程序將暫停在程序入口處,相當於在main上打斷點
"cwd": "${workspaceFolder}", // 調試程序時的工作目錄,此爲工作區文件夾;改成${fileDirname}可變爲文件所在目錄
"environment": [], // 環境變量
"externalConsole": false, // 爲true時使用單獨的cmd窗口,與其它IDE一致;18年10月後設爲false可調用VSC內置終端
"MIMode": "gdb", // 指定連接的調試器,可以爲gdb或lldb。
"setupCommands": [
// 模板自帶,好像可以更好地顯示STL容器的內容,具體作用自行Google
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build",
"windows": {
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"miDebuggerPath": "E:\\mingw-w64\\mingw64\\bin\\gdb.exe" // 調試器路徑,Windows下後綴不能省略,Linux下則不要
},
"osx": {
"externalConsole": true
}
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "process",
"command": "g++",
"args": [
"-g",
"-Wall",
"-std=c++14",
"-lm",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.o"
],
"presentation": {
"echo": false,
"reveal": "silent",
"showReuseMessage": false
},
"problemMatcher": "$gcc",
"group": {
"kind": "build",
"isDefault": true
},
"windows": {
"args": [
"-g",
"-Wall",
"-std=c++14",
"-lm",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
]
}
},
{
"label": "run",
"type": "shell",
"dependsOn": "build",
"command": "${fileDirname}/${fileBasenameNoExtension}.o",
"presentation": {
"focus": true
},
"group": {
"kind": "test",
"isDefault": true
},
"windows": {
"command": "${fileDirname}/${fileBasenameNoExtension}.exe"
}
}
]
}
settings.json
{
"files.exclude": {
"**/*.o": true,
"**/*.exe": true,
"**/*.class": true,
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
}
}
注意
- 如果你想要使用以上配置文件,請將lsunch.json文件中的調試器路徑改爲你的相應路徑示例如下
- “miDebuggerPath”: “E:\mingw-w64\mingw64\bin\gdb.exe” // 調試器路徑,Windows下後綴不能省略,Linux下則不要
用戶設置和工作空間設置
-
用戶設置:這種方式進行的設置,會適用於該用戶打開的所有工程/實例
-
工作空間設置:工作空間是指使用
VScode
打開的某個文件夾,在該文件夾下會創建一個名爲。vscode
的文件夾,保存着項目的相應設置。工作空間的設置會覆蓋用戶的設置。 -
vscode的配置文件setting.json的UI界面或者json形式
- UI界面
- 進入設置界面,按下快捷鍵
Ctrl + ,
進入設置,可以選擇用戶設置或者工作區設置
- 進入設置界面,按下快捷鍵
- json形式界面
- 按下快捷鍵`Ctrl + Shift + P``,輸入Preferences: Open User Settings或Preferences: Open Workspace Settings。可以進入相應設置。
- 按下快捷鍵`Ctrl + Shift + P``,輸入Preferences: Open User Settings或Preferences: Open Workspace Settings。可以進入相應設置。
每個人都有自己的偏好,在使用VS Code進行開發時,都會根據自己的習慣來對VS Code進行用戶級別的配置。但是,當多人共同完成某個項目的時候,該項目會有一定的編碼規範,如: 編輯某個語言時的設置,代碼的縮進等等,這個時候就需要對該項目進行單獨的工作空間級別的設置。
在UI界面中,將鼠標放到設定左邊的空白位置會顯示出一個齒輪,其中有重置設定/複製設定/複製設定到json三個選項. 因此在團隊協助中, 可以很輕鬆地分享項目的特定設置.
- 參考文章,除上述之外,還有針對特定的語言的編輯設定,以及安全性設定,現在暫時不深入研究
牛刀小試
- 快捷鍵設置→ 參考文檔
常見錯誤
- 找不到.exe文件,大概率是以爲文件名包含中文,去除文件名中的中文即可
- 其他錯誤參考文章 → zhihu
總結
- 安裝完
MingW
並添加環境變量之後,我們其實是可以直接編程的,但是你必須要會要學會一些基本 shell 命令,比如你寫了一個A.cpp
文件,在命令行中輸入g++ A.cpp
就會在當前目錄下編譯生成一個A.exe
的可執行文件,此時你點擊運行exe文件即可運行(一步操作:g++ -o A.cpp
也可)。如果你想要調試,命令行gdb A.exe
; - 以上就是在命令行界面中簡單的編譯運行一個 c++ 文件,其實VScode本質是一個編輯器,想要利用他來編譯運行調試C++文件,我們就必須配置幾個文件,讓他自動幫我們輸入一些命令,並實現UI界面;如果給編輯器配置上編譯環境,那麼那就是一個IDE(集成開發環境)
- 配置完環境變量一定要測試一下是否成功,不成功可以重啓電腦再測試
- 報錯的時候能將錯誤的關鍵要點找出來,否則上網也找不出是啥原因
- 一些關鍵詞:GCC、gcc、g++、gdb、MingW、clang、MSVC
Reference
版權聲明:本文爲原創文章,版權歸本人所有,轉載請註明出處!
所有原創文章採用 知識共享署名-非商業性使用4.0國際許可協議 進行許可。
原文鏈接:https://www.betterman.xyz/94.html