App下載

VSCode配置C++環(huán)境的方法步驟(MSVC)

我要月亮奔我而來(lái) 2021-09-02 12:03:57 瀏覽數(shù) (5801)
反饋

?最近心血來(lái)潮,想用一下微軟的VSCode寫(xiě)一下C++,然而第一步就卡住了,竟然不會(huì)配置C++環(huán)境,陸陸續(xù)續(xù)搞了兩天,總算是弄明白了,網(wǎng)上msvc教程比較少,就打算分享出來(lái),也記錄下自己的歷程。

?先說(shuō)說(shuō)我的理解吧,Visual Studio Code和visual studio不同,后者是屬于IDE是個(gè)集成開(kāi)發(fā)環(huán)境,下載好基本就能直接用來(lái)寫(xiě)C++等;

?而Visual Studio Code(以下簡(jiǎn)稱VSC)是一個(gè)編輯器,簡(jiǎn)單來(lái)說(shuō)和windows電腦上的那個(gè)看.txt文件的記事本一個(gè)類別,然而VSC卻是個(gè)強(qiáng)大的記事本,你可以用它來(lái)做很多記事本做不了的事情,最簡(jiǎn)單的來(lái)說(shuō)你打開(kāi)很大的txt記事本就會(huì)特別卡打開(kāi)很慢,但是VSC不會(huì),你會(huì)體驗(yàn)到他的順滑流暢。

?因?yàn)閂SC屬于開(kāi)源跨平臺(tái)的一個(gè)軟件,因?yàn)樗暮芏嘣O(shè)置都是屬于文件類的,需要改代碼才能實(shí)現(xiàn)修改一些深度使用的功能,相比于很多圖形界面的軟件設(shè)置,VSC對(duì)小白并不友好(樓主也是白的不能再白的小白)。

?至于為什么用msvc沒(méi)有使用用戶最多的Mingw-w64來(lái)配置,只能說(shuō)樓主懶得裝吧,個(gè)人VS重度使用者,不想再裝Mingw-w64,其次就是裝這個(gè)Mingw-w64需要特殊的Internet出國(guó)工具安裝也比較慢,小白的我嘗試失敗了很多次之后emmmm放棄了……需要的話網(wǎng)上這個(gè)教程超級(jí)多的。

?現(xiàn)在步入正題,說(shuō)說(shuō)用VSC配置C++開(kāi)發(fā)環(huán)境吧。

一、首先安裝軟件VSCode

網(wǎng)址:https://code.visualstudio.com/ 選擇適合自己的版本,自行安裝,要記得安裝路徑(為以后的卸載什么的留好后門(mén))默認(rèn)選項(xiàng)即可,也可自己瞎選,如果有問(wèn)題可自行搜索解決。

二、必要插件

VSC安裝完畢,你可能需要安裝一些插件:

[1]中文簡(jiǎn)體插件 和 C/C++ 擴(kuò)展插件

操作如圖,并且,在應(yīng)用商店里面搜索 Chinese,選擇如圖安裝重啟即可



[2]你也可以選擇其他美化或者編程插件:比如 one dark pro 、code runner、vscodeicons等

注:樓主已經(jīng)安裝了中文插件,因而剛開(kāi)始界面就是中文,前面不完全一樣截圖就看看參考下就好啦,擴(kuò)展商店的位置在左側(cè)最下面那個(gè)圖標(biāo)點(diǎn)進(jìn)去,選擇推薦的那一欄然后再搜索你需要的插件,里面應(yīng)有盡有。
另外安裝插件的問(wèn)題還有漢化的問(wèn)題,如果出現(xiàn)問(wèn)題,可以自行搜索解決。

三、安裝Microsoft C ++(MSVC)編譯器工具集

  • 如果已安裝最新版本的Visual Studio,請(qǐng)從Windows“開(kāi)始”菜單中打開(kāi)Visual Studio Installer,并驗(yàn)證是否已選中C ++工作負(fù)載。如果未安裝,請(qǐng)選中該框并單擊安裝程序中的“ 修改”按鈕。
  • 或者,通過(guò) https://visualstudio.microsoft.com/downloads/#other單擊“ 下載”頁(yè)面上的“Visual Studio構(gòu)建工具”鏈接下載獨(dú)立工具集,然后按照提示進(jìn)行操作。使用默認(rèn)設(shè)置,下載大小約為1GB,磁盤(pán)上的大小約為4GB。

Ps:樓主已有visual studio2019因此沒(méi)有再另外安裝。根據(jù)微軟官方的文檔安裝即可。不再贅述。

四、開(kāi)始配置

(一)從Developer Command Prompt啟動(dòng)VS Code

?1、首先建議在系統(tǒng)盤(pán)(通常是C盤(pán))某個(gè)文件夾創(chuàng)建一個(gè)空的項(xiàng)目文件夾,我們把它命名為“projects”,在這個(gè)空的文件夾里面創(chuàng)建一個(gè)名為“helloworld”的子文件夾。如個(gè)人的操作結(jié)果如圖:

(示例是 C:aMyDocumentsprojects 這個(gè)路徑 自己定一定要英文的路徑)


現(xiàn)在我們需要復(fù)制下這個(gè)文件的路徑(打開(kāi)helloworld文件夾后,在地址欄復(fù)制,個(gè)人的示例如圖:)(這樣我復(fù)制的地址就是:C:aMyDocumentsprojectshelloworld


?2、要打開(kāi)VS的開(kāi)發(fā)人員命令提示符,請(qǐng)?jiān)赪indows的“開(kāi)始”菜單中輸入“Developer”,你應(yīng)會(huì)看到它出現(xiàn)在建議列表中。(名稱取決于你安裝的Visual Studio版本)

**請(qǐng)選擇右鍵管理員打開(kāi)這樣以后會(huì)省事不少**


?

3、我們要在開(kāi)發(fā)人員命令提示符下,進(jìn)入這個(gè)名為 “helloworld”的子文件夾,然后用VSC打開(kāi)這個(gè)文件夾,具體操作如下:

打開(kāi)Visual Studio的開(kāi)發(fā)人員命令提示符后,鍵盤(pán)輸入
Cd+空格+剛才復(fù)制的地址+回車 隨后光標(biāo)會(huì)自動(dòng)跳到下一行,你接著輸入:
Code+空格+.+回車 然后就自動(dòng)打開(kāi)了VSC。

如圖:


注:
1、上面命令的加號(hào)不需要輸入;
2、第二個(gè)命令最后有一個(gè)點(diǎn),注意是英文的點(diǎn);
3英文用的小寫(xiě);
解釋:
1、上面的cd的意思是 把命令提示符的路徑轉(zhuǎn)移到之前創(chuàng)建的那個(gè)helloworld文件夾;
2、 第二個(gè)命令的意思是 用VSC打開(kāi)helloworld這個(gè)文件夾。

PS:
 以后如果再在別的地方寫(xiě)C++也需要這么做,因此你需要記住這個(gè)cd命令(還有不知道是不是個(gè)別原因我的電腦只能cd到C盤(pán),別的盤(pán)不行,所以最好文件放:C盤(pán)、自己能記住的、非中文文件夾里面)
 要在VSC中使用MSVC,必須從Visual Studio的開(kāi)發(fā)人員命令提示符啟動(dòng)VSC。普通的Windows命令提示符或Bash提示符沒(méi)有設(shè)置必要的環(huán)境變量。(或者有大佬可以教一教怎么設(shè)置嗎)

以后每次啟動(dòng)都要從這里進(jìn)入

(二)寫(xiě)入C++文件

自動(dòng)打開(kāi)的VSC左側(cè)如圖:
點(diǎn)擊helloworld文件夾-->>點(diǎn)擊新建文件-->>輸入 helloworld.cpp(注意后綴.cpp一定要加)-->>隨后在右側(cè)打如下C++代碼(也可自行書(shū)寫(xiě))

#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打開(kāi)命令調(diào)面板,并輸入C/C++,并點(diǎn)擊編輯配置”(UI)。如圖:



?然后你會(huì)發(fā)現(xiàn)helloworld文件夾中出現(xiàn)了新的文件,如圖:

圈住的路徑是一個(gè)重要的路徑,先知道下,或許一會(huì)我們會(huì)去找到他

箭頭是新出現(xiàn)的文件夾,點(diǎn)擊打開(kāi)就會(huì)發(fā)現(xiàn)一個(gè)文件:c_cpp_properties.json,我們點(diǎn)擊打開(kāi)他查看代碼如圖:


這個(gè)代碼內(nèi)容每個(gè)人的不一樣,尤其是路徑(就右側(cè)代碼最長(zhǎng)的那一行的路徑);
這個(gè)自動(dòng)生成的文件不需要修改,

如果第一次配置,為了保險(xiǎn),你可以看看那個(gè)路徑文件(就右側(cè)代碼最長(zhǎng)的那一路徑)下是不是存在那個(gè)文件(自己去windows文件夾按照路徑一個(gè)一個(gè)點(diǎn)開(kāi)看看有沒(méi)有那個(gè)叫做cl.exe的文件)

(四)構(gòu)建任務(wù)

接下來(lái),需要?jiǎng)?chuàng)建一個(gè)tasks.json文件來(lái)告訴VS Code如何構(gòu)建(編譯)程序。
(此任務(wù)將調(diào)用Microsoft C ++編譯器(cl.exe)以基于源代碼創(chuàng)建可執(zhí)行文件。)
有兩種辦法:
先說(shuō)我自己的辦法:

1、讓helloworld.cpp文件激活(即先點(diǎn)一下這個(gè)文件中的代碼)
2、按Ctrl + Shift + P打開(kāi)命令調(diào)面板,
3、輸入:tasks點(diǎn)選如圖 默認(rèn)生成任務(wù)
4、在彈出的界面 再點(diǎn) c/c++:cl.exe……如圖:


5、點(diǎn)擊打開(kāi)這個(gè)tasks.json查看代碼: 別的都不需要修改,只把圖中圈起來(lái)的 兩個(gè)文件名 修改為對(duì)應(yīng)的即可,如本例的
"helloworld.exe""helloworld.cpp"

6、在tasks.json文件激活情況下(點(diǎn)擊文件中任意位置表示選中)按快捷鍵ctrl+shift+B,即可生成helloworld.exe等文件(表示成功)

說(shuō)明:

1、label值將在VS Code Command Palette中使用,可以是您喜歡的任何名稱。
2、command值表明我們正在使用cl.exeMSVC編譯器。
3、args數(shù)組指定將傳遞給上一步中指定的編譯器的命令行參數(shù)。它們必須按編譯器預(yù)期的順序出現(xiàn)。
4、在此示例中,指定了異常處理模式(EHsc)并告訴編譯器生成帶符號(hào)(Zi)的調(diào)試版本。
5、/Fe:參數(shù)告訴編譯器將可執(zhí)行文件命名為“helloworld.exe”。

至此構(gòu)建任務(wù)已經(jīng)完成,如果上面的辦法可行便不必看下面給的官方辦法了,直接跳過(guò)看下一步就好
下面再介紹一下這一步的另外一種來(lái)自官方文檔的實(shí)現(xiàn)辦法:

同樣按Ctrl + Shift + P打開(kāi)命令調(diào)面板---->>輸入 tasks---->>選擇 Add a default build task---->>再選擇 Others 這樣就創(chuàng)建了一個(gè)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"
  }
 ]
}

截圖如下:



(五)配置調(diào)試設(shè)置

helloworld.cpp文件中,點(diǎn)擊界面上方的

—>>調(diào)試
—>>添加配置
—>>選擇第二個(gè)C / C++Windows(Launch)
—>>點(diǎn)選cl.exe…
—>>將自動(dòng)創(chuàng)建和打開(kāi)文件launch.json



查看launch.json代碼如圖:


對(duì)于launch.json的修改要注意的是

1、橫線的文件名要和前面tasks.json創(chuàng)建的 文件名.exe一致; 樓主這個(gè)順序搞出來(lái)的這個(gè)文件名可以改可以不改,改的話這一行應(yīng)該為:
"program": "${workspaceFolder}/helloworld.exe",
如果手動(dòng)打全行注意最后一行的逗號(hào)(其實(shí)只修改后半部分文件名即可)
2、stopAtEntry值設(shè)置為true使調(diào)試器在該斷點(diǎn)上停止。最好為true

修改后的如圖:

??然后就皆大歡喜了

回到helloworld.cpp文件,
點(diǎn)擊 調(diào)試即可運(yùn)行,
結(jié)果在:調(diào)試控制臺(tái),需要鼠標(biāo)點(diǎn)選到這個(gè)頁(yè)面


到此為止 你的helloworld算是成功跑出來(lái)了。

??VSC的麻煩之處在于以后寫(xiě)別的c++文件也需要這樣做一遍,你可能覺(jué)得很麻煩,其實(shí)官方推薦的是每次寫(xiě)都吧這次配置的.vscode文件夾復(fù)制過(guò)去,只把task.jsonlaunch.json的文件名那幾行代碼根據(jù)新的c++文件名修改一下即可;

??個(gè)人覺(jué)得按樓主的辦法,每次自己做一遍也不需要費(fèi)多久時(shí)間,很多代碼都是自動(dòng)生成的沒(méi)有復(fù)制別人的代碼,還只是修改兩個(gè)文件名的那幾行代碼和那個(gè)launch中的stopAtEntry值設(shè)置為true即可。(比官方多了一個(gè)true值,熟練了就好了,畢竟我們不是隨時(shí)都能找到之前寫(xiě)的文件也,還有可能使用別人的電腦)

??另外,調(diào)試代碼文件時(shí)如果修改了代碼,需要到tasks.json里面ctrl+shift+B重新生成 name.exe才能顯示更新的代碼結(jié)果

??VSC強(qiáng)大在可以配置很多東西,可是就是很麻煩,尤其是對(duì)于我們這種小白吧,以后使用VSC的過(guò)程中還可能遇到utf-8gbk導(dǎo)致我C++里面不能輸入漢字字符串結(jié)果是亂碼,也沒(méi)報(bào)錯(cuò),我剛遇到,還沒(méi)解決……總之大家一起進(jìn)步啊。

??總體來(lái)說(shuō)相對(duì)于Mingw-w64配置msvc的還是比較簡(jiǎn)單的,介于網(wǎng)上msvc教程比較少少,這里就寫(xiě)了一份自己的方法,有什么問(wèn)題希望大家多多指正。

總結(jié):用VSC運(yùn)行C++的必要順序
1、你需要C盤(pán)創(chuàng)建一個(gè)項(xiàng)目文件夾–>>右鍵管理員從Developer Command Prompt–>>使用命令cd到創(chuàng)建好的項(xiàng)目里面去–>> 使用代碼 code .啟動(dòng)VS Code
2、寫(xiě)一個(gè) name.cpp的文件
3、配置編譯器路徑c_cpp_properties.json (和IntelliSense設(shè)置)
??按Ctrl + Shift + P打開(kāi)命令調(diào)面板,并輸入C/C++,并點(diǎn)擊編輯配置”(UI)
不需要修改這個(gè)文件,生成即可。
4、構(gòu)建任務(wù)tasks.json (構(gòu)建說(shuō)明)

  • 讓helloworld.cpp文件激活(即先點(diǎn)一下這個(gè)文件中的代碼)
  • 按Ctrl + Shift + P打開(kāi)命令調(diào)面板,
  • 輸入 tasks點(diǎn)選如圖 默認(rèn)生成任務(wù)
  • 在彈出的界面 再點(diǎn) c/c++:cl.exe……
  • 修改名稱"helloworld.exe", "helloworld.cpp" 兩處
  • ctrl+shifr+B 生成可執(zhí)行文件

5、launch.json (調(diào)試器設(shè)置)

  • 在helloworld.cpp文件中點(diǎn)擊 調(diào)試--->>添加配置--->>選擇第二個(gè)C / C ++ Windows(Launch)--->>點(diǎn)選cl.exe…--->>將自動(dòng)創(chuàng)建和打開(kāi)文件launch.json
  • launch.json的修改要注意的是
    • 橫線的文件名要和前面tasks.json創(chuàng)建的 文件名.exe一致;(可改可不改)
    • stopAtEntry值設(shè)置為true使調(diào)試器在該斷點(diǎn)上停止。最好為 true (這一點(diǎn)很重要)

6、調(diào)試–>>鼠標(biāo)點(diǎn)選調(diào)試控制臺(tái)查看結(jié)果即可。

附:如果嫌棄麻煩可以選擇每次都復(fù)制helloworld這個(gè)文件夾,然后改名稱:

包括 helloworld文件夾的名稱 、helloworld.cpp的名稱,還有tasks和launch里面的名稱

到此這篇關(guān)于VSCode配置C++環(huán)境的方法步驟(MSVC)的文章就介紹到這了,更多相關(guān)VSCode配置C++環(huán)境內(nèi)容請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持W3Cschool!


C

0 人點(diǎn)贊