文章目錄
- 開始放飛之先搞個VSCode
- 重要提醒
- 安裝VSCode
- 下載MinGW-w64
- 回到VSCode中去
- VSCode原生調試
- 鍵盤問題
- 遺留問題
- 參考文獻
開始放飛之先搞個VSCode
突然發現自己的新臺式機上面連個像樣的編程環境都沒有,全是游戲了!!!!
這怎么符合我好好學習天天向上努力奮斗勾搭好看小妹妹的初衷呢,不行,我們今天先來搞個VScode,雖然工作中常用的是VS studio,但是對VSCode神往已久了,磨刀不費砍柴功,等等我怎么連個像樣的輸入法都沒有,啊我天天打錯別字啊
重要提醒
本篇內容是在DeepSeek大將軍的技術指導下完成的
安裝VSCode
就在官網安裝就好餓了
哦吼,怎么一上來可以用AI輔助,還free,不信哦,啊換電腦了,我的github密碼是什么啊,先不搞吧
這個好像有點意思啊 不用鼠標 這不錯 等下試試 奧 是通過設置不同的快捷鍵來方便操作就不用點了 不錯
先跟著提示下載一個C/C++ Extension Pack,等等這個排序好多語言,還有Dart,好像很火,好想當全棧工程師啊
應該是這個Extension Pack 他只是支持帶有C++特性的編輯器,如果想要真正運行C++程序需要依賴于電腦上我們自己安裝的編譯器,那種能在cmd窗口中像python一樣的編譯器
對的,Deepseek大將軍告訴我:
- 編輯器而非IDE: VSCode 本質上是高度可定制的代碼編輯器(類似 Sublime Text),而非全功能的 IDE(如 Visual Studio、CLion)。它的優勢在于輕量、快速、擴展性強,通過插件可以實現 IDE 的大部分功能。
- 多語言支持:
默認支持多種編程語言(通過語法高亮、代碼補全等),但運行和調試需要額外配置工具鏈或插件。
如果需要運行和調試,需要額外配置C++編譯器和調試器,Windows下安裝MinGW-w64 或 MSVC(這兩個東西在VSstudio中是無感的,我在QT里面見過,讓我選對應的編譯工具,是嗎還是只有第一個在QT中見過),此外deepseek大將軍還告訴我 macOS/linux系統中通常自帶g++或clang,啊他們怎么這么好,對了鴻蒙系統里面有內置的編譯器嗎
OK,那我們先來研究并安裝一下這個MinGW-w64把
下載MinGW-w64
MinGW-w64(Minimalist GNU for Windows 64-bit)是一個開源的 Windows 工具鏈,用于編譯和運行 C/C++ 程序。它是經典 MinGW 的升級版,支持:
- 64位和32位程序編譯(x86_64 和 i686)。
- 現代 C/C++ 標準(如 C++11/14/17/20)。
- Windows API 開發(如 Win32 程序)。
- 生成原生 Windows 可執行文件(.exe),不依賴第三方運行時庫。
(說實話我只熟悉第一條,而且為什么叫i686呢,啊!!)
seek將軍推薦我使用預編譯二進制包,感覺就是人家編譯好了,還做了個exe安裝程序,給你拷貝一下,那我們就用MSYS2(主打聽勸),這個還是得開梯子下載不然好慢,我用平板下的,稍等現在平板是不是可以和電腦直接互聯啊
破華為,意思是我得全套才行,不能搞個通用的傳輸工具嗎? 商機啊,牛馬驢。
啊,我又嘗試了用藍牙連接,藍牙傳東西怎么這么慢啊,要死了,才81.98M,這么慢,哇!!!!!!!!!!!
哇終于好了,也安裝好了
MSYS教程里給我說了個這什么,合著你只是個下載器,騙子騙子,奧奧,deepseek大將軍告訴了我說他是一個包管理器,好吧,看在你教程做的不錯的份上就不和你計較了,略略略,快點給老子下載。
pacman -S mingw-w64-ucrt-x86_64-gcc
OK,安裝完了
等下我們的下載目標不是MinGW-w64,怎么現在是gcc了,難道是一個東西,
OK,別急,是這樣的,MinGW-64是一個為windows系統提供GNU(這個詞我總是想到GUN,哈哈)工具鏈的開源項目,其核心任務是將GCC和其他GNU工具,適配到Windows平臺,使其能夠生成原生的Windows程序。
總之就是MinGW-64包含編譯器(GCC),二進制工具鏈(鏈接器和匯編器),gdb調試,和WindowsAPI頭文件和庫等,如下圖就是下載下來的ucrt64工具鏈(等等,這就是說,C++代碼在windows系統上的運行,需要調用windows系統的某些接口,從而完成一些內核指令,操作系統是用來隔離和保護的,而究竟是在哪一部做的這個事情嘞,這個先放放)
- GCC 是核心編譯器,MinGW-w64 是讓 GCC 在 Windows 上工作的“適配層”。
- 在 Windows 上開發 C/C++,你需要通過 MinGW-w64 使用 GCC。
等等,那么GCC和g++有什么區別,編譯的時候不是只用g++嗎,但我在bin目錄下卻看到了這個
g++.exe main.cpp -o main.exe
這是怎么一回事呢
我的天哪,Deepseek你好厲害,我是不是快失業了,嗚嗚嗚,明白了意思是我們下載的MinGW-w64里面是既包含g++也包含gcc的編譯器的,
OK,那接下來的一步就是把下載的mingw-w64-ucrt-x86_64-gcc(UCRT)中的bin目錄加到windows的環境變量中去,添加完成后就可以在cmd中使用 g++ --version 來查看編譯器版本,并能在cmd中通過bash命令來對cpp代碼進行編譯了,哦耶。
有關這兩的區別,Deepseek大將軍是這么說的,OK
那我們現在是不是就可以回到VScode中去了,啦啦啦啦啦啦
回到VSCode中去
VScode好笨呀,那現在我們如何把二者關聯起來,能夠在VScode中點擊運行就運行呢,像破爛VStudio一樣
奧奧 明白了 在VScode中運行代碼,其實和我們在bash中編譯代碼成為exe并運行exe別無二致,那么我們就需要考慮定義相關的編譯參數和調試(運行)參數。大膽猜一下,支持一鍵運行代碼的Code Runner是不是就是幫我生成了一份默認的編譯參數和調試參數呢?
推薦大家直接使用code Runner,還是在Extension中下載,哈哈哈,編譯參數和調試參數以及中文等需要再去調整吧,嘿嘿嘿,in your face,中文亂碼問題
等等 code Runner怎嗎調試呢
哦吼,CodeRunner不支持代碼調試,怪不得,我說怎么插件官方的Usages里面沒有,要使用VSCode原生調試方法了,Deepseek大將軍說只用配置一次,不錯,不對那不還是一個工程需要配置一次,下午再搞吧,累了累了,希望今天能把這個弄完 =.=
VSCode原生調試
關于launch.json和tasks.json的生成,胡亂點點就有了
搞完這兩個后,開啟debug
出現提示說找不到pipe program, 說著就讓我打開launch.json
突然發現我沒有安裝gdb,合著前面只是安裝了個編譯器
安裝完gdb之后,再將自動生成的launch.json中的相關字段改為對應msys64編譯工具鏈中的對應可執行文件。
這里的pipeProgram不太好理解,Deepseek大將軍是這樣說的
就是說這里的debuggerPath和pipeProgram需要來自同一套編譯工具鏈。
這樣改完之后,就能通過F5開關開啟調試了,哦耶。
鍵盤問題
先解決一個鍵盤問題,我的阿斯盾鍵盤(打廣給錢)87塊錢但感覺超級牛皮,windows鍵一直用不了windows+R,強迫癥要犯了
問了一下客服,還有 Fn + W 切換WIN系統,和 FN + A 切換蘋果系統的說法, 牛皮,窮的沒用過蘋果,這兩個系統之間對于鍵盤來說有什么區別嘞,不懂不明白
遺留問題
- VSCode內部控制臺輸出中文亂碼問題,Deepseek讓我去改settings.json,改完了還是不生效啊
- launch.json與tasks.json的深入研究
- 其他插件的研究,我要搞好多語言的編譯器,啊哈哈哈雖然我不會,還有VSCode不是有個leetcode插件,下回來搞,好想打游戲
- 對于MinGW64編譯鏈的研究,本質上來說,C++是高級語言,經過編譯器后能變成所在系統可以讀懂的二進制文件,那么在這個過程中,編譯鏈是如何與系統相互適配的,是否Windows系統有一份規范,說你必須翻譯成這樣我才能看懂,OK,那么編譯鏈的工作就是一個Windows國家的翻譯。
- VSCode的AI輔助編程功能,夠義氣吧VSCode,記得給我打錢
參考文獻
https://blog.csdn.net/ScienceRui/article/details/117392080
Deepseek大將軍:https://chat.deepseek.com/