Visual Studio Code配置C、C++環(huán)境并編寫運行的方法
弄了半天,總算弄好了,結(jié)合網(wǎng)上的教程,整理分享一下~
總體流程:
- 下載安裝vscode
- 安裝cpptools插件
- 安裝編譯、調(diào)試環(huán)境
- 修改vscode調(diào)試配置文件
下載安裝vscode
https://code.visualstudio.com/Download
Visual Studio Code 64位 v1.26.0 官方最新安裝版:http://www.dbjr.com.cn/softs/606746.html
Visual Studio Code 32位 v1.26.0 官方最新安裝版: http://www.dbjr.com.cn/softs/606747.html
Visual Studio Code(代碼編輯器) v1.20.1 64位 中文免費綠色版 http://www.dbjr.com.cn/softs/586169.html
安裝cpptools插件
打開vscode,按ctrl+p打開快速命令框,輸入以下命令后等待
ext install cpptools
vscode在短暫的聯(lián)網(wǎng)查找后會列出插件列表,如圖:

點擊箭頭所指處的按鈕安裝插件,安裝過程可能會有些慢耐心等待
安裝完成后vscode會提示你重啟vscode,此時重啟即可
安裝編譯、調(diào)試環(huán)境
(若是電腦上原來裝著codeblocks,Dev C++等可以跳過這步,
直接跳到 【配置系統(tǒng)環(huán)境變量path】 這步即可)
目前windows下調(diào)試僅支持 Cygwin 和 MinGW。
這里使用的是MinGW.
下面是MinGW的安裝配置過程:
mingw(GNU工具集導(dǎo)入庫集合) 5.1.6 官方版 http://www.dbjr.com.cn/softs/192011.html
MinGW安裝圖文教程以及如何配置C語音編程環(huán)境 http://www.dbjr.com.cn/softjc/192017.html
進入官網(wǎng)點擊右側(cè) Download Installer下載安裝器
打開安裝器點擊install準備安裝:

選擇一個安裝目錄,默認為C:\MinGW這里選擇的是A:\MinGW
點擊Continue開始安裝,安裝過程需聯(lián)網(wǎng),若安裝時提示error則需翻墻安裝
安裝過程很快,結(jié)束后Continue按鈕恢復(fù)為可用狀態(tài),點擊完成安裝。
打開MinGW安裝管理器進行進一步配置

注意這里gdb必選,否則無法調(diào)試
選中幾個需要的項右鍵Make for Installation進行標記,其中g(shù)cc和g++為c和c++編譯器
選擇完全部想要安裝的項后點擊左上角Installation菜單下的Apply Changes應(yīng)用修改,過程需聯(lián)網(wǎng),中間出現(xiàn)error可先繼續(xù),若最后失敗則需翻墻更新,建議翻墻。
【配置系統(tǒng)環(huán)境變量path】
然后配置系統(tǒng)環(huán)境變量path,這一步為必須
在 我的電腦 上右鍵 屬性:
然后按照下面步驟做即可,注意最后新建的項要與之前MinGW安裝位置相對應(yīng)
Windows7注意,要加入,不是覆蓋!我第一次不小心把原來路徑覆蓋了。。。(因為win7不像win10那么明顯是加入。。)

再次打開vscode,注意配置系統(tǒng)環(huán)境變量path后重啟一下vscode
注意vscode調(diào)試需要在打開的文件夾中進行(注意!是用VSC打開文件夾?。?,單獨打開一個單獨的cpp是沒有下面的幾個配置文件出現(xiàn)的??!也就是說,這個cpp要在一個文件夾里!不像DevCpp和C-Free可以直接調(diào)試一個單獨的cpp!?。?/p>
打開文件夾后,新建test.cpp進行輸入代碼測試:

如圖示進入調(diào)試界面選擇C++:

然后會在工作目錄下的生成一個launch.json的啟動配置文件:

使用下面代碼替換該文件:(只是在vsc自己產(chǎn)生的json文件加了一些行)
launch.json中有很多屬性可以設(shè)置, 通過智能提示查看有那些屬性可以設(shè)置, 如果要查看屬性的具體含義, 可以把鼠標懸停在屬性上面, 會屬性的使用說明.
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名稱,將會在啟動配置的下拉菜單中顯示
"type": "cppdbg", // 配置類型,這里只能為cppdbg
"request": "launch", // 請求配置類型,可以為launch(啟動)或attach(附加)
"program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 將要進行調(diào)試的程序的路徑
"args": [], // 程序調(diào)試時傳遞給程序的命令行參數(shù),一般設(shè)為空即可
"stopAtEntry": false, // 設(shè)為true時程序?qū)和T诔绦蛉肟谔?,一般設(shè)置為false
"cwd": "${workspaceRoot}", // 調(diào)試程序時的工作目錄,一般為${workspaceRoot}即代碼所在目錄
"environment": [],
"externalConsole": true, // 調(diào)試時是否顯示控制臺窗口,一般設(shè)置為true顯示控制臺
"MIMode": "gdb",
"miDebuggerPath": "C:\\Program Files (x86)\\CodeBlocks\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這里要與MinGw的路徑對應(yīng)
"preLaunchTask": "g++", // 調(diào)試會話開始前執(zhí)行的任務(wù),一般為編譯程序,c++為g++, c為gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
注意miDebuggerPath要與MinGw的路徑對應(yīng) ,我用的codeblocks的gdb,見上面的json文件。
而且,注意miDebuggerPath是\\,與直接粘貼過來的路徑不一樣,需要加一個”\”(冒號后面的兩個反斜杠“\\”)
替換后保存,然后切換至test.cpp,按F5進行調(diào)試,此時會彈出一個信息框要求你配置任務(wù)運行程序,點擊它~
在這里隨便選一個:(我選的others)

然后用下面代碼替換:
{
"version": "0.1.0",
"command": "g++",
"args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 編譯命令參數(shù)
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
保存一下,然后切換至test.cpp,再次按F5啟動調(diào)試~

配置c_cpp_properties.json
- 保存一下,然后切換至a.cpp,再次按F5啟動調(diào)試。
- 如果前面的配置都對的話,這個時候會進行編譯,然后跳出黑框輸出Hello World,之后窗口又迅速消失。
- 可能大多數(shù)人已經(jīng)習慣了VS/VC的便利,其實我們這只要在末尾加上一個cin輸入即可。加上int pause;cin>>pause;后再按F5。
- 但是這個貌似不夠高大上,其實我們一般是使用system('pause');實現(xiàn),換上后再次運行,這時候報錯了。因為我們我們引用的庫有問題,沒有正確引用進來,注意這里不是VS/VC,需要我們自己配置路徑。
- 注意:之前在下載安裝GNU哪里已經(jīng)配置了相應(yīng)的環(huán)境變量,但是VScode中有個配置文件,他是根據(jù)自己的配置文件來找的。
- 在編輯器中,有小波浪的就是代碼有問題,看下#include<iostream>,左邊有個燈泡,點擊后跳出配置文件,修改其中的Win32的"includePath"如下,和上文一樣,根據(jù)自己的路徑進行調(diào)整即可。經(jīng)測試,下圖中代碼的注冊部分仍是必要部分
{
"name": "Win32",
"includePath": [
"C:/Program Files/MinGW/include/*",
"C:/Program Files/MinGW/lib/gcc/mingw32/5.3.0/include/*"
"C:/MinGW/lib/gcc/mingw32/5.3.0/include/c++/*",
"C:/MinGW/lib/gcc/mingw32/5.3.0/include/c++/mingw32/*",
"C:/MinGW/lib/gcc/mingw32/5.3.0/include/c++/backward/*"
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}

一勞永逸:因為VS需要為每一個文件夾做單獨配置,所以建議把.vscode文件夾放到你常用的文件夾的頂層,這樣就不用重復(fù)配置了。
不用每個新cpp文件就要一套配置。這些配置在你配置好的文件夾內(nèi)的所有子文件夾和文件都能使用。

最后效果:
設(shè)置斷點,變量監(jiān)視,調(diào)用堆棧的查看:

條件斷點的使用:

新更新:
最后補一句:
vscode似乎還僅僅支持英文文件名的調(diào)試,中文調(diào)試的話就會出現(xiàn)“找不到文件XXXXX.cpp”(大意,原文記不清了,因為距離這個問題我已經(jīng)解決很長時間了,今天看到想補一下,別讓新人踩坑了。。。),然后問是否要創(chuàng)建,不知道是BUG還是啥,這糾結(jié)了我N久,因為我有些cpp文件是中文命名的,我去Github上找相應(yīng)的issue也沒有找到我想要的這個問題解答,最后偶然間發(fā)現(xiàn)英文命名的文件調(diào)試時不會出現(xiàn)這個問題,才解決了??!真的很坑?。?!新人注意?。?!這里浪費了我很長很長時間!!
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
OpenCV實現(xiàn)圖像轉(zhuǎn)換為漫畫效果
這篇文章主要為大家詳細介紹了OpenCV實現(xiàn)圖像轉(zhuǎn)換為漫畫效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-08-08
淺析C/C++中動態(tài)鏈接庫的創(chuàng)建和調(diào)用
下面小編就為大家?guī)硪黄獪\析C/C++中動態(tài)鏈接庫的創(chuàng)建和調(diào)用。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧2016-05-05
一文讓你不再害怕指針之C指針詳解(經(jīng)典,非常詳細)
這篇文章主要給大家介紹了C指針的相關(guān)資料,文中介紹的很經(jīng)典,非常詳細,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C指針具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-08-08

