VSCode配置C++環境(MSVC)
最近心血來潮,想用一下微軟的VSCode寫一下C++,然而第一步就卡住了,竟然不會配置C++環境,陸陸續續搞了兩天,總算是弄明白了,網上msvc教程比較少,就打算分享出來,也記錄下自己的曆程。
先說說我的了解吧,Visual Studio Code和visual studio不同,後者是屬于IDE是個內建開發環境,下載下傳好基本就能直接用來寫C++等;
而Visual Studio Code(以下簡稱VSC)是一個編輯器,簡單來說和windows電腦上的那個看.txt檔案的記事本一個類别,然而VSC卻是個強大的記事本,你可以用它來做很多記事本做不了的事情,最簡單的來說你打開很大的txt記事本就會特别卡打開很慢,但是VSC不會,你會體驗到他的順滑流暢。
因為VSC屬于開源跨平台的一個軟體,因為他的很多設定都是屬于檔案類的,需要改代碼才能實作修改一些深度使用的功能,相比于很多圖形界面的軟體設定,VSC對小白并不友好(樓主也是白的不能再白的小白)。
至于為什麼用msvc沒有使用使用者最多的
Mingw-w64
來配置,隻能說樓主懶得裝吧,個人VS重度使用者,不想再裝Mingw-w64,其次就是裝這個Mingw-w64需要特殊的Internet出國工具安裝也比較慢,小白的我嘗試失敗了很多次之後emmmm放棄了……需要的話網上這個教程超級多的。
現在步入正題,說說用VSC配置C++開發環境吧。
一、首先安裝軟體VSCode
網址:
https://code.visualstudio.com/
選擇适合自己的版本,自行安裝,要記得安裝路徑(為以後的解除安裝什麼的留好後門)預設選項即可,也可自己瞎選,如果有問題可自行搜尋解決。
二、必要插件
VSC安裝完畢,你可能需要安裝一些插件:
[1] 中文簡體插件 和 C/C++ 擴充插件
操作如圖,并且,在應用商店裡面搜尋 Chinese,選擇如圖安裝重新開機即可
[2] 你也可以選擇其他美化或者程式設計插件:比如 one dark pro 、code runner、vscodeicons等
注:樓主已經安裝了中文插件,因而剛開始界面就是中文,前面不完全一樣截圖就看看參考下就好啦,擴充商店的位置在左側最下面那個圖示點進去,選擇推薦的那一欄然後再搜尋你需要的插件,裡面應有盡有。
另外安裝插件的問題還有漢化的問題,如果出現問題,可以自行搜尋解決。
三、安裝Microsoft C ++(MSVC)編譯器工具集
• 如果已安裝最新版本的Visual Studio,請從Windows“開始”菜單中打開Visual Studio Installer,并驗證是否已選中C ++工作負載。如果未安裝,請選中該框并單擊安裝程式中的“ 修改”按鈕。
• 或者,通過
https://visualstudio.microsoft.com/downloads/#other
單擊“ 下載下傳”頁面上的“Visual Studio建構工具”連結下載下傳獨立工具集,然後按照提示進行操作。使用預設設定,下載下傳大小約為1GB,磁盤上的大小約為4GB。
Ps:樓主已有visual studio2019是以沒有再另外安裝。根據微軟官方的文檔安裝即可。不再贅述。
四、開始配置
(一)從Developer Command Prompt啟動VS Code
1、首先建議在系統盤(通常是C槽)某個檔案夾建立一個空的項目檔案夾,我們把它命名為“
projects
”,在這個空的檔案夾裡面建立一個名為“
helloworld
”的子檔案夾。如個人的操作結果如圖:
(示例是
C:\aMyDocuments\projects
這個路徑 自己定一定要英文的路徑)
現在我們需要複制下這個檔案的路徑(打開
helloworld
檔案夾後,在位址欄複制,個人的示例如圖:)(這樣我複制的位址就是:
C:\aMyDocuments\projects\helloworld
)
2、要打開VS的開發人員指令提示符,請在Windows的“開始”菜單中輸入“
Developer
”,你應會看到它出現在建議清單中。(名稱取決于你安裝的Visual Studio版本)
**請選擇右鍵管理者打開這樣以後會省事不少**
3、我們要在開發人員指令提示符下,進入這個名為 “
helloworld
”的子檔案夾,然後用VSC打開這個檔案夾,具體操作如下:
打開後,鍵盤輸入
Visual Studio的開發人員指令提示符
随後光标會自動跳到下一行,你接着輸入:
Cd+空格+剛才複制的位址+回車
然後就自動打開了VSC。
Code+空格+.+回車
如圖:
注:
1、上面指令的加号不需要輸入;
2、第二個指令最後有一個點,注意是英文的點;
3英文用的小寫;
解釋:
1、上面的
的意思是 把指令提示符的路徑轉移到之前建立的那個
cd
helloworld
檔案夾;
2、 第二個指令的意思是 用VSC打開
這個檔案夾。
helloworld
PS:
以後如果再在别的地方寫C++也需要這麼做,是以你需要記住這個
cd
指令(還有不知道是不是個别原因我的電腦隻能cd到C槽,别的盤不行,是以最好檔案放:
C槽、自己能記住的、非中文檔案夾
裡面)
要在VSC中使用MSVC,
必須從Visual Studio的開發人員指令提示符啟動VSC
。普通的Windows指令提示符或Bash提示符沒有設定必要的環境變量。(或者有大佬可以教一教怎麼設定嗎)
以後每次啟動都要從這裡進入
(二)寫入C++檔案
自動打開的VSC左側如圖:
點選helloworld檔案夾-->>點選建立檔案-->>輸入 helloworld.cpp(注意字尾.cpp一定要加)-->>随後在右側打如下C++代碼(也可自行書寫)
:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
(三)配置編譯器路徑
1、按
Ctrl + Shift + P
打開指令調面闆,并輸入
C/C++
,并點選
編輯配置”(UI)
。如圖:
然後你會發現
helloworld
檔案夾中出現了新的檔案,如圖:
圈住的路徑是一個重要的路徑,先知道下,或許一會我們會去找到他
箭頭是新出現的檔案夾,點選打開就會發現一個檔案:
c_cpp_properties.json
,我們點選打開他檢視代碼如圖:
這個代碼内容每個人的不一樣,尤其是路徑(就右側代碼最長的那一行的路徑);
這個自動生成的檔案不需要修改,
如果第一次配置,為了保險,你可以看看那個路徑檔案(就右側代碼最長的那一路徑)下是不是存在那個檔案(自己去windows檔案夾按照路徑一個一個點開看看有沒有那個叫做 cl.exe
的檔案)
(四)建構任務
接下來,需要建立一個
tasks.json
檔案來告訴VS Code如何建構(編譯)程式。
(此任務将調用Microsoft C ++編譯器(
cl.exe
)以基于源代碼建立可執行檔案。)
有兩種辦法:
先說我自己的辦法:
1、讓helloworld.cpp檔案激活(即先點一下這個檔案中的代碼)
2、按
Ctrl + Shift + P
打開指令調面闆,
3、輸入:
tasks
點選如圖 預設生成任務
4、在彈出的界面 再點
如圖:
c/c++:cl.exe……
5、點選打開這個檢視代碼: 别的都不需要修改,隻把圖中圈起來的 兩個檔案名 修改為對應的即可,如本例的
tasks.json
和
"helloworld.exe"
"helloworld.cpp"
6、在檔案激活情況下(點選檔案中任意位置表示選中)按快捷鍵
tasks.json
,即可生成
ctrl+shift+B
等檔案(表示成功)
helloworld.exe
說明:
1、
label
值将在VS Code Command Palette中使用,可以是您喜歡的任何名稱。
2、
值表明我們正在使用
command
cl.exeMSVC
編譯器。
3、
args
數組指定将傳遞給上一步中指定的編譯器的指令行參數。它們必須按編譯器預期的順序出現。
4、在此示例中,指定了
并告訴編譯器生成帶符号
異常處理模式(EHsc)
(Zi)
的調試版本。
5、
:參數告訴編譯器将可執行檔案命名為“
/Fe
”。
helloworld.exe
至此建構任務已經完成,如果上面的辦法可行便不必看下面給的官方辦法了,直接跳過看下一步就好
下面再介紹一下這一步的另外一種來自官方文檔的實作辦法:
同樣按打開指令調面闆---->>輸入
Ctrl + Shift + P
---->>選擇
tasks
---->>再選擇
Add a default build task
這樣就建立了一個
Others
tasks.json
的檔案
用官方給的代碼(如下)替換全部的
tasks.json
代碼
---->>按快捷鍵
,即可生成
ctrl+shift+B
等檔案(表示成功)
helloworld.exe
{
"version": "2.0.0",
"tasks": [
{
"label": "msvc build",
"type": "shell",
"command": "cl.exe",
"args": [
"/EHsc",
"/Zi",
"/Fe:",
"helloworld.exe",
"helloworld.cpp"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal":"always"
},
"problemMatcher": "$msCompile"
}
]
}
截圖如下:
(五)配置調試設定
在
helloworld.cpp
檔案中,點選界面上方的
—>>調試
—>>添加配置
—>>選擇第二個
—>>點選
C / C++Windows(Launch)
—>>将自動建立和打開檔案
cl.exe…
launch.json
檢視
launch.json
代碼如圖:
對于
launch.json
的修改要注意的是
1、橫線的檔案名要和前面建立的
tasks.json
一緻; 樓主這個順序搞出來的這個檔案名可以改可以不改,改的話這一行應該為:
檔案名.exe
"program": "${workspaceFolder}/helloworld.exe",
如果手動打全行注意最後一行的逗号(其實隻修改後半部分檔案名即可)
2、
值設定為true使調試器在該斷點上停止。最好為
stopAtEntry
true
修改後的如圖:
然後就皆大歡喜了
回到helloworld.cpp檔案,
點選 調試即可運作,
結果在:調試控制台,需要滑鼠點選到這個頁面
到此為止 你的
helloworld
算是成功跑出來了。
VSC的麻煩之處在于以後寫别的c++檔案也需要這樣做一遍,你可能覺得很麻煩,其實官方推薦的是每次寫都吧這次配置的
.vscode檔案夾
複制過去,隻把
task.json
和
launch.json
的檔案名那幾行代碼根據新的c++檔案名修改一下即可;
個人覺得按樓主的辦法,每次自己做一遍也不需要費多久時間,很多代碼都是自動生成的沒有複制别人的代碼,還隻是修改兩個檔案名的那幾行代碼和那個中的
launch
值設定為
stopAtEntry
即可。(比官方多了一個
true
值,熟練了就好了,畢竟我們不是随時都能找到之前寫的檔案也,還有可能使用别人的電腦)
true
另外,調試代碼檔案時如果修改了代碼,需要到
tasks.json
裡面
ctrl+shift+B
重新生成
name.exe
才能顯示更新的代碼結果
VSC強大在可以配置很多東西,可是就是很麻煩,尤其是對于我們這種小白吧,以後使用VSC的過程中還可能遇到
utf-8
和
gbk
導緻我C++裡面不能輸入漢字字元串結果是亂碼,也沒報錯,我剛遇到,還沒解決……總之大家一起進步啊。
總體來說相對于
Mingw-w64
配置
msvc
的還是比較簡單的,介于網上
msvc
教程比較少少,這裡就寫了一份自己的方法,有什麼問題希望大家多多指正。
總結:用VSC運作C++的必要順序
1、你需要C槽建立一個項目檔案夾–>>右鍵管理者從
Developer Command
Prompt–>>使用指令
cd
到建立好的項目裡面去–>> 使用代碼
code .
啟動VS Code
2、寫一個
name.cpp
的檔案
3、配置編譯器路徑c_cpp_properties.json (和IntelliSense設定)
按Ctrl + Shift + P打開指令調面闆,并輸入C/C++,并點選編輯配置”(UI)
不需要修改這個檔案,生成即可。
4、建構任務
tasks.json
(建構說明)
1、讓helloworld.cpp檔案激活(即先點一下這個檔案中的代碼)
2、按Ctrl + Shift + P打開指令調面闆,
3、輸入 tasks點選如圖 預設生成任務
4、在彈出的界面 再點 c/c++:cl.exe……
5、修改名稱"helloworld.exe", "helloworld.cpp" 兩處
6、ctrl+shifr+B 生成可執行檔案
5、launch.json (調試器設定)
1、在helloworld.cpp檔案中點選 調試--->>添加配置--->>選擇第二個C / C ++ Windows(Launch)
--->>點選cl.exe…--->>将自動建立和打開檔案launch.json
2、launch.json的修改要注意的是
a:橫線的檔案名要和前面tasks.json建立的 檔案名.exe一緻;(可改可不改)
b:stopAtEntry值設定為true使調試器在該斷點上停止。最好為 true (這一點很重要)
6、調試–>>滑鼠點選調試控制台檢視結果即可。
附:如果嫌棄麻煩可以選擇每次都複制helloworld這個檔案夾,然後改名稱:
包括 helloworld檔案夾的名稱 、helloworld.cpp的名稱,還有tasks和launch裡面的名稱