VsCode安裝+C/C++配置+安裝配置過(guò)程中的經(jīng)典問(wèn)題-創(chuàng)新互聯(lián)

前言

本文只是做了整合,以及結(jié)合網(wǎng)絡(luò)資料做出一些自己的理解,如有不對(duì)之處期望各位大佬的指正。也可以留言出自己遇到的問(wèn)題,大家一起解決。這樣可以幫助看到留言版的人解決問(wèn)題。另外希望在按照本文安裝過(guò)程中按步驟依次安裝,則會(huì)出現(xiàn)更少的問(wèn)題。本文僅適用于使用Windows操作系統(tǒng)的安裝。中支持點(diǎn)擊放大圖片,故遇到看不清的圖片可點(diǎn)擊放大進(jìn)行觀看。

十余年的烏魯木齊網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整烏魯木齊建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“烏魯木齊網(wǎng)站設(shè)計(jì)”,“烏魯木齊網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。VSCode下載安裝 軟件下載

Download Visual Studio Code -Mac, Linux, Windows。點(diǎn)擊官網(wǎng)鏈接,根據(jù)自己電腦的操作系統(tǒng)下載即可。建議下載zip格式,因?yàn)閑xe格式安裝后更改VsCode擴(kuò)展安裝位置時(shí)會(huì)有較多的操作步驟。點(diǎn)擊x64。

此時(shí)可能出現(xiàn)網(wǎng)頁(yè)打不開(kāi),因?yàn)檫@是官網(wǎng)的下載路徑,此時(shí)可以改用國(guó)內(nèi)鏡像下載,即將下載鏈接:https://az764295.vo.msecnd.net/stable/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/VSCode-win32-x64-1.74.2.zip

更改(紅色部分)為:

https://vscode.cdn.azure.cn/stable/e8a3071ea4344d9d48ef8a4df2c097372b0c5161/VSCode-win32-x64-1.74.2.zip

進(jìn)入更改的鏈接就可以下載VsCode最新版的zip文件。

軟件安裝

在C盤以外的盤中建立一個(gè)VsCode文件夾,用于放置VsCode。

將下載好的zip文件用解壓軟件解壓到此文件夾中。解壓完成后即安裝好了VsCode。安裝成功后即如下圖所示。

在上圖所示的文件夾中建立data文件夾。這是因?yàn)橹苯哟蜷_(kāi)Code.exe會(huì)導(dǎo)致以后的擴(kuò)展程序會(huì)安裝在C盤當(dāng)中,因?yàn)閂sCode默認(rèn)在C盤建立你的數(shù)據(jù)文件。此時(shí)建立data文件,在以后使用VsCode的過(guò)程中,產(chǎn)生的用戶數(shù)據(jù)與擴(kuò)展程序都會(huì)存入這個(gè)data文件中。(這種更改擴(kuò)展安裝位置的方法,僅適用于通過(guò)Zip下載的VsCode軟件。)

在上圖中所示的文件夾中右擊Code.exe文件創(chuàng)建快捷方式,然后將快捷方式拖動(dòng)至桌面。這樣便于以后通過(guò)桌面的快捷方式打開(kāi)VsCode。拖動(dòng)至桌面后文件夾中的快捷方式可以刪除,至此VsCode安裝結(jié)束。

VsCode配置C/C++ VsCode改為中文設(shè)置。(若想用英文,這一步可省略)

點(diǎn)擊打開(kāi)VsCode,點(diǎn)擊“擴(kuò)展(下圖紅框框選的部分)”。

在擴(kuò)展中搜索“Chinese”選擇中文簡(jiǎn)體,然后點(diǎn)擊install,安裝完成后右下角出現(xiàn)是否應(yīng)用的彈窗提示。

點(diǎn)擊藍(lán)色按鈕將會(huì)自動(dòng)重啟VsCode,并且界面變?yōu)橹形慕缑?。如下圖。

添加C/C++擴(kuò)展。

在擴(kuò)展中搜索C/C++,然后安裝C/C++擴(kuò)展。默認(rèn)安裝為最新版本,但最新版本無(wú)法自動(dòng)生成之后配置C/C++時(shí)需要的launch.json文件。所以來(lái)到擴(kuò)展。如圖所示,點(diǎn)擊齒輪,點(diǎn)擊“安裝另一個(gè)版本”,選擇較低的版本,我選擇的v1.7.1.

安裝與配置MinGw。

有關(guān)MinGw的介紹在次不作過(guò)多的解釋,詳情可以自己百度。在此僅需知道VsCode編譯C/C++過(guò)程中需要下載這個(gè)程序,值得注意的是在VsCode中通過(guò)MinGw編譯生成的exe文件,在不同的終端下執(zhí)行會(huì)因?yàn)榫幋a格式不統(tǒng)一產(chǎn)生中文亂碼的問(wèn)題,這個(gè)問(wèn)題稍后做解釋,在此先進(jìn)行MinGW的安裝。

官網(wǎng)下載MinGw

點(diǎn)擊上面的超鏈接進(jìn)入下載的官網(wǎng),一直下滑找到這個(gè)下圖所示的界面:

32位選擇i686-win32-sjlj或i686-win32-dwarf,64位可選擇x86_64-win32-sjlj或x86_64-win32-seh,不同點(diǎn)在于sjlj更穩(wěn)定,seh,dwarf性能更優(yōu),有關(guān)seh,sjli,dwarf實(shí)際上是三種異常處理模型,并不會(huì)特別影響程序的運(yùn)行。詳情參見(jiàn):https://blog.csdn.net/AMDDMA/article/details/111600238

將下載后的文件選擇解壓到C盤以外的盤中,此處無(wú)需建立文件夾。

解壓完成后會(huì)得到“mingw64”的文件夾,32位可能名稱有些不同,但不影響接下來(lái)的操作。

打開(kāi)mingw64文件夾->打開(kāi)里面的bin文件夾(此處僅顯示了bin內(nèi)的兩個(gè)文件,實(shí)際不止)。

單擊上圖中bin旁的空白部分,ctrl+c復(fù)制文件路徑,便于之后將MinGw加入環(huán)境變量。

將MinGw添加到環(huán)境變量。

電腦屏幕左下角有搜索框。

在搜索框中輸入“環(huán)境變量”,點(diǎn)擊編輯系統(tǒng)環(huán)境變量。

然后點(diǎn)擊環(huán)境變量。

點(diǎn)擊“系統(tǒng)變量”中的path。

然后點(diǎn)擊編輯得到:

點(diǎn)擊新建,然后將剛才復(fù)制的路徑粘貼上去:

最后一直點(diǎn)擊確定保存你的設(shè)置。

測(cè)試MinGw配置成功

在電腦屏幕左下角的搜索框中輸入“cmd”,點(diǎn)擊”以管理員身份運(yùn)行”。(彈出是否運(yùn)行框選擇是)。

在得到的cmd終端中輸入:gcc -v -E -x c++ -

按回車得到如下圖所示的結(jié)果框,則說(shuō)明MinGw配置成功。

VsCode的使用(以C為例) 建立C語(yǔ)言文件

在C盤以外的盤中建立一個(gè)文件夾,名字全英文,表示以后建立的C/C++的工程文件均放置于此,如圖:

打開(kāi)安裝完成的VsCode,點(diǎn)擊“文件”,點(diǎn)擊“打開(kāi)文件夾”,

在下圖所示界面找到你之前建立的工程文件夾。

點(diǎn)擊“選擇文件夾”,打開(kāi)文件夾回到VsCode界面。此時(shí)會(huì)出現(xiàn)下圖所示界面。(電腦可能會(huì)詢問(wèn)你是否信任文件夾的作者,選擇信任)。

將鼠標(biāo)光標(biāo)放置此文件夾上,會(huì)有提示:

第一個(gè)為新建文件,第二個(gè)為新建文件夾,選擇“新建文件夾”,在下方就可以輸入名字即可建立一個(gè)文件夾,文件夾名稱最好不要使用中文。

建立第一個(gè)工程文件夾,如下圖所示。

右擊建立的工程文件夾,選擇新建文件,建立一個(gè)文件后綴名為.c或.c++文件。如圖所示:

建立運(yùn)行代碼需要的配置文件

建立c_cpp_properties.json文件。點(diǎn)擊查看,打開(kāi)“命令面板”,(也可以使用ctrl+shift+p,快捷鍵打開(kāi))(這里只提供一個(gè)方法給需要生成c_cpp_properties.json文件的人,這一步可省略,不想建立的人可直接跳過(guò)接下來(lái)的兩步)。

第一步:一般來(lái)說(shuō)這里會(huì)直接彈出“C/C++編輯配置”,若沒(méi)有彈出也可以在搜索框中輸入這一個(gè)配置名稱,這里選擇打開(kāi)后綴名為JSON的編輯配置。

第二步:然后,VsCode會(huì)自動(dòng)生成c_cpp_properties.json文件與.vscode文件夾。

在第一個(gè).c文件中輸入一段簡(jiǎn)單的C語(yǔ)言代碼。

然后點(diǎn)擊“運(yùn)行”,“啟動(dòng)調(diào)試”。

然后會(huì)彈出下圖所示界面,選擇第一個(gè)。

然后選擇如下所示的配置。然后等待程序運(yùn)行。

運(yùn)行結(jié)束后,打開(kāi)VsCode下方的“終端”,終端將輸出程序運(yùn)行的結(jié)果。

點(diǎn)擊“資源管理器”,位置如圖所示:

會(huì)發(fā)現(xiàn)自動(dòng)生成了.vscode文件夾,里面有l(wèi)aunch.json文件與tasks.json文件。

使用過(guò)程中的經(jīng)典問(wèn)題 關(guān)于程序運(yùn)行在cmd終端與VsCode內(nèi)部終端的切換問(wèn)題

VsCode默認(rèn)將你編寫的程序的運(yùn)行輸出到cppdbg終端。如下圖所示:

若我們不愿意在終端運(yùn)行程序(因?yàn)榻K端運(yùn)行時(shí)會(huì)附帶一些文件信息),可以將其更改為在我們熟悉的cmd終端下運(yùn)行程序。具體操作如下:

點(diǎn)擊打開(kāi)launch.json文件,將"externalConsole"中的false改為true,即將啟用外部終端原為false(否)改為true(是)。

然后點(diǎn)擊打開(kāi)hello.c文件,點(diǎn)擊運(yùn)行,便可以通過(guò)cmd窗口運(yùn)行程序了。但是此時(shí)會(huì)出現(xiàn)兩個(gè)問(wèn)題,窗口一閃而過(guò)的問(wèn)題與cmd終端輸出中文出現(xiàn)亂碼的問(wèn)題。

窗口一閃而過(guò)的問(wèn)題

原因是launch.json文件沒(méi)有配置使cmd終端窗口輸出結(jié)果后暫停的代碼指令,也沒(méi)有在.c文件代碼中輸入使cmd終端窗口輸出結(jié)果后暫停的代碼。解決方案有兩個(gè):

方案一:將launch.json文件中的代碼段,如圖所示:

將program后的路徑復(fù)制到args后,program后修改為

C:\\Windows\\system32\\cmd.exe

繼續(xù)修改此處代碼使得與下圖保持一致:

此時(shí)再次運(yùn)行.c文件程序就會(huì)從cmd彈出結(jié)果,且不會(huì)閃退。

這樣做的優(yōu)點(diǎn)是可以使以后寫的代碼程序在VsCode中編譯運(yùn)行時(shí),在cmd終端中不會(huì)閃退。但是缺點(diǎn)是,若從計(jì)算機(jī)中找到生成的hello.exe文件,直接點(diǎn)擊運(yùn)行那么程序仍然會(huì)閃退。即來(lái)到如圖所示的路徑下點(diǎn)開(kāi)hello.exe文件,發(fā)現(xiàn)程序閃退。所以需要方案二。

方案二:在編寫的代碼中添加控制窗口運(yùn)行的代碼。

即在代碼文件添加如圖所示代碼。添加完成后點(diǎn)擊運(yùn)行生成新的.exe文件。

此時(shí)來(lái)到電腦之前的路徑中打開(kāi).exe文件

將會(huì)發(fā)現(xiàn).exe文件不會(huì)閃退。

此方法的優(yōu)點(diǎn)是此時(shí)無(wú)論是在VsCode編譯運(yùn)行(在VsCode中運(yùn)行時(shí)注意要在launch文件中啟用外部終端),還是到電腦文件夾中打開(kāi)運(yùn)行,均不會(huì)造成閃退,而且使用方案二時(shí),可以省略掉方案一的所有操作。缺點(diǎn)是每寫一次代碼文件時(shí)就需要添加上述紅框中的代碼。(網(wǎng)上也有其他的代碼來(lái)使程序框運(yùn)行后不直接退出,但本質(zhì)均為添加代碼的方法。)

所以建議是,若只需要在VsCode運(yùn)行程序在cmd終端輸出時(shí)應(yīng)用方案一,當(dāng)需要生成的文件在電腦的路徑下也能運(yùn)行時(shí)不閃退,則在有這樣的需求的代碼文件中執(zhí)行方案二。

編碼格式不統(tǒng)一導(dǎo)致的中文亂碼問(wèn)題

這個(gè)問(wèn)題的根本原因是cmd終端,VsCode運(yùn)行啟動(dòng)的終端,編寫的代碼文件,這三者之間的編碼格式不統(tǒng)一。

cmd終端編碼格式默認(rèn)為GBK格式,即簡(jiǎn)體中文格式,即在cmd終端中輸入chcp,顯示為“活動(dòng)頁(yè)936”(如下圖所示)。

而VsCode中默認(rèn)編寫的.c文件格式的編碼格式為UTF-8,如圖:

VsCode在運(yùn)行編碼文件時(shí)內(nèi)部的終端編碼格式為UTF-8。如下圖所示:使用VsCode內(nèi)的終端運(yùn)行一個(gè)簡(jiǎn)單的c語(yǔ)言程序,得到如下圖所示:

在此可以看到,VsCode將程序運(yùn)行到了cppdbg這個(gè)終端,而在這個(gè)終端中輸入“chcp”,查看這個(gè)終端的編碼為“65001”,即UTF-8編碼,而此時(shí)左下角顯示UTF-8是hello.c文件編碼,所以此時(shí)運(yùn)行的結(jié)果“你好世界”,不會(huì)出現(xiàn)亂碼。

此時(shí)根據(jù)之前的方法切換到cmd終端運(yùn)行,由于cmd終端的編碼為GBK編碼,hello.c文件是UTF-8編碼,由于編碼格式不一致故此時(shí)會(huì)顯示中文亂碼。如下圖。

所以中文亂碼問(wèn)題實(shí)質(zhì)是因?yàn)榫幋a格式不統(tǒng)一。VsCode內(nèi)運(yùn)行.c文件程序的cppdbg終端的編碼格式,我目前為止也沒(méi)有找到更改的方法,但是c文件的編碼格式,與cmd終端的編碼格式均可以修改,下面給出這兩種編碼的修改方案。

C文件編碼的修改:這里有兩種方案第一種便于切換,第二種便于一勞永逸。下面兩種均為將UTF-8格式改為GBK格式,也可以用同樣的方法改GBK格式為UTF-8格式。

第一種,可以打開(kāi).c文件,通過(guò)左擊右下角的UTF-8(如下圖所示),點(diǎn)擊“通過(guò)編碼重新打開(kāi)”。

下滑找到“GBK編碼”,并點(diǎn)擊。

此時(shí)會(huì)發(fā)現(xiàn)編寫的代碼中的“你好世界”變?yōu)榱藖y碼,且與之前在cmd終端輸出的亂碼相同。

說(shuō)明更改編碼格式成功了。將其中的亂碼改為“你好世界”,就得到了GBK編碼下的“你好世界”的.c文件了。此時(shí)若在cmd終端中運(yùn)行,cmd終端內(nèi)的中文就不是亂碼了,如下圖所示:

第二種方法,第一種方法雖然可以改變c文件的編碼,但是每次建立c文件通過(guò)方式一修改過(guò)于麻煩,因?yàn)閂sCode建立文件時(shí)默認(rèn)建立的是UTF-8編碼的文件。實(shí)際可以通過(guò)修改設(shè)置,更改為每次建立文件時(shí)默認(rèn)建立GBK編碼的文件。具體做法如下:

在下圖所示中,點(diǎn)擊齒輪,進(jìn)入設(shè)置,

在設(shè)置中輸入encoding。

點(diǎn)擊UTF-8,找到GBK,點(diǎn)擊確定。這樣在以后建立文件時(shí),默認(rèn)建立的文件即為GBK格式。

Cmd終端編碼的修改:Cmd終端默認(rèn)是GBK編碼,故下面描述如何更改為UTF-8編碼,值得注意的是,更改后可能導(dǎo)致系統(tǒng)在打開(kāi)一些只認(rèn)識(shí)GBK編碼的軟件時(shí)出現(xiàn)亂碼。修改方式如下(修改過(guò)程含重啟電腦,請(qǐng)注意保存自己的文件):

打開(kāi)電腦的設(shè)置,點(diǎn)擊“時(shí)間和語(yǔ)言”,如下圖所示:

點(diǎn)擊找到“日期、時(shí)間和區(qū)域模式設(shè)置”,一般直接出現(xiàn)在如圖所示的區(qū)域,若此區(qū)域沒(méi)有,可點(diǎn)擊左側(cè)欄切換,然后找到此設(shè)置。

點(diǎn)擊“其他日期,時(shí)間和區(qū)域設(shè)置”,

點(diǎn)擊“區(qū)域”

點(diǎn)擊“管理”,點(diǎn)擊“更改系統(tǒng)區(qū)域設(shè)置”。

在下圖中勾選后點(diǎn)擊確定,會(huì)彈出重啟電腦的提示框,重啟電腦完成后電腦cmd終端即可變更為UTF-8編碼。

重啟后打開(kāi)cmd終端,在其中輸入chcp,會(huì)發(fā)現(xiàn)變?yōu)榫幋a變?yōu)榱恕?5001”即UTF-8格式編碼。

根據(jù)上述教程,即可根據(jù)自己的想法統(tǒng)一編碼,解決中文亂碼的問(wèn)題。為方便決策,在此做出以下建議。若需要來(lái)回在cmd終端與VsCode內(nèi)的cppdbg終端切換,則將系統(tǒng)編碼設(shè)為UTF-8,而文件編碼與cppdbg終端編碼默認(rèn)為UTF-8,此時(shí)三者均統(tǒng)一,但是會(huì)造成系統(tǒng)以后在打開(kāi)一些只認(rèn)識(shí)GBK編碼的.exe文件時(shí)出現(xiàn)亂碼。若只用cmd終端輸出程序運(yùn)行結(jié)果,則設(shè)置默認(rèn)建立.c文件為GBK格式,使代碼文件與cmd終端的格式相同即可。若只用終端,那么不用做任何設(shè)置,但就要忍受每次運(yùn)行程序時(shí)總將伴隨一些信息在內(nèi)部的終端中輸出。

VsCode使用斷點(diǎn)調(diào)試時(shí)無(wú)效的問(wèn)題

VsCode在默認(rèn)生成的launch.json文件下編譯運(yùn)行時(shí),不會(huì)產(chǎn)生斷點(diǎn)調(diào)試無(wú)效的問(wèn)題。但根據(jù)本文中為解決“窗口一閃而過(guò)的問(wèn)題”的方案一修改launch.json文件后會(huì)出現(xiàn)設(shè)置斷點(diǎn)調(diào)試無(wú)效的問(wèn)題。原因是在方案一中將program后更改為了使用cmd終端,如圖所示:

而默認(rèn)生成的launch.json文件中的program為:

故在啟用斷點(diǎn)調(diào)試時(shí)無(wú)法根據(jù)方案一解決cmd窗口閃退的問(wèn)題,此時(shí)可以采用解決窗口閃退問(wèn)題的方案二,不改變默認(rèn)文件中的program配置,或者放棄使用斷點(diǎn)調(diào)試。我的做法是在launch.json文件中

準(zhǔn)備兩行program代碼,通過(guò)切換注釋的方式,在launch.json中切換program的配置,達(dá)到既使用VsCode斷點(diǎn)調(diào)試也使用方案一的目的。如圖所示:

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

本文標(biāo)題:VsCode安裝+C/C++配置+安裝配置過(guò)程中的經(jīng)典問(wèn)題-創(chuàng)新互聯(lián)
標(biāo)題URL:http://muchs.cn/article26/dspcjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站制作網(wǎng)站制作、域名注冊(cè)、軟件開(kāi)發(fā)定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司