關(guān)于現(xiàn)在的c語言編譯器不是太老就是就是界面不太友好或者是體積太大勤晚。如:
- Visual C++ 6.0雖說在Windows上是一個經(jīng)典的編譯器柴我,但是真的是太老了鸦列,發(fā)布時間是1998年发乔,20年了茄螃,早已不受官方支持气筋,而且在Windows10上兼容性也是一個巨大的問題拆内,因此,還是放棄折騰宠默;
對于Dev C++來說體積小巧麸恍,操作簡便,支持中文,但是bug太多抹沪,幾乎調(diào)試不了刻肄,同時已經(jīng)有好幾年沒有得到更新,而且界面也不是太友好融欧,至少已經(jīng)不具備現(xiàn)在的人的審美特點了敏弃。
全宇宙最強(qiáng)大IDE——微軟的Visual Studio,雖說能彌補(bǔ)上面兩個的缺點噪馏,但是嘛體積確實太大了麦到,動不動就是幾個G,對于c語言初學(xué)者確實不太友好欠肾,而且操作太復(fù)雜了瓶颠。
所以最后發(fā)現(xiàn)了Visual Studio Code(下面簡稱VS Code)。
VS Code簡介
VS Code是微軟推出的一個跨平臺的開源編輯器董济。雖然它只是個編輯器但是只要你愿意折騰步清,還是能折騰出IDE(Integrated Development Environment ,集成開發(fā)環(huán)境)所具有的功能虏肾。
運行&&調(diào)試c語言所需條件
- 一臺電腦,Windows欢搜、Linux或者M(jìn)ac都可以封豪;
- 下載VS Code,官網(wǎng)下載地址炒瘟,Github托管地址吹埠;
- c語言編譯器,這里選擇的是gcc(GNU Compiler Collection)疮装,下載Mingw-w64
之后安裝缘琅。
安裝
安裝VS Code
下載好VS Code后,安裝時可以自己選擇安裝路徑廓推,其他的默認(rèn)就好刷袍。
安裝Mingw-w64
安裝Mingw-w64時,在Architecture一欄如果32位就選i686樊展,如果64位就選擇x86_64呻纹,其他的默認(rèn)就好,安裝目錄我是選擇的C盤根目錄专缠。
安裝C/C++支持插件
打開VS Code在插件商店搜索C/C++這個插件進(jìn)行安裝雷酪。
配置
新建一個文件夾,然后涝婉,右鍵選擇用VS Code打開哥力,打開之后新建一個.c文件,進(jìn)行環(huán)境配置墩弯。
配置 launch.json文件
點擊左邊活動欄的調(diào)試按鈕吩跋,然后蟀淮,點擊配置按鈕選擇環(huán)境C++(GDB/LLDB);
之后在這個文件夾里會多出一個文件夾.vscode钞澳,這個文件夾里會生成一個json文件——launch.json怠惶,然后將下面的代碼替換掉里面的代碼;
launch.json
{
// 使用 IntelliSense 了解相關(guān)屬性轧粟。
// 懸停以查看現(xiàn)有屬性的描述策治。
// 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb)c_launch",
"type": "cppdbg",
"request": "launch",
"targetArchitecture": "x64",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
"miDebuggerPath": "C:/mingw-w64/mingw64/bin/gdb.exe",
"MIMode": "gdb",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"internalConsoleOptions": "openOnFirstSessionStart",
"externalConsole": true,
"preLaunchTask": "gcc"
}
]
}
其中兰吟,第12行的targetArchitecture根據(jù)自己所需的構(gòu)架來更改通惫,第14行的miDebuggerPath需要按照Mingw-w64的安裝目錄來更改,其他的默認(rèn)就好混蔼;
配置 tasks.json文件
在狀態(tài)欄上選擇任務(wù)履腋,在下拉選項中選擇配置任務(wù);然后選擇使用模板創(chuàng)建 tasks.json 文件這個選項;
接著就是選擇Others 運行任意外部命令的示例這個選項惭嚣;
隨之則會生成一個tasks.json的文件遵湖,然后將下面的代碼替換掉里面的代碼;
tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "gcc",
"args": ["-Wall", "-g", "${file}", "-o", "${fileBasenameNoExtension}.exe"],
"echoCommand": true,
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
到了這里就可以對c語言進(jìn)行調(diào)試了晚吞,下面寫一段c語言代碼進(jìn)行測試:
調(diào)試測試
test.c
#include <stdio.h>
int main(void)
{
int a = 1;
int b = 2;
int c = 0;
c = a + b;
printf("%d + %d = %d", a, b, c);
return 0;
}
但是需要注意的是c語言文件要與.vscode這個文件夾處在同一級目錄延旧,即是:
但是還存在著一個問題——頭文件哪里會出現(xiàn)一條綠色的波浪線,并且沒有自動補(bǔ)全的功能槽地;
配置 c_cpp_properties.json文件
將光標(biāo)放在頭文件哪里會出現(xiàn)一個黃色的小燈泡迁沫,點擊之后選擇Edit "includePath" setting,隨之會多出一個json文件c_cpp_properties.json捌蚊,然后找到與Windows相關(guān)的頭文件路徑配置代碼集畅,即在"name": "Win32"的下面。根據(jù)Mingw-w64的安裝路徑找到頭文件的所在路徑缅糟,分別放在includePath和path中挺智,即是下面有注釋的地方:
c_cpp_properties.json
{
"configurations": [
{
"name": "Mac",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
]
},
{
"name": "Linux",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
{
"name": "Win32",
"includePath": [
"C:/mingw-w64/mingw64/include",
"C:/mingw-w64/mingw64/x86_64-w64-mingw32/include",
//根據(jù)Mingw-w64的安裝路徑更改
"${workspaceRoot}"
],
"defines": [
"_DEBUG",
"UNICODE"
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"C:/mingw-w64/mingw64/include",
"C:/mingw-w64/mingw64/x86_64-w64-mingw32/include",
//根據(jù)Mingw-w64的安裝路徑更改
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 3
}
現(xiàn)在沒有了綠色波浪線,也可以實現(xiàn)自動補(bǔ)全了溺拱,所以配置完成逃贝。