Visual Studio Code (簡稱 VSCode) 是一款由微軟開發的開源文字編輯器,算是近年來文字編輯器的新起之秀,越來越多人喜歡以 VSCode 做為開發的工具,擁有優良的擴充功能的市場,使得 VSCode 變的無限可能,雖然無法自動編譯程式,不過依然可以使用豐富的外掛及設定,打造一個適合自己的開發平台,這篇教學主要要來教大家如何使用 VSCode 來設定 C/C++ 的開發環境。如果已經有其他習慣使用的 IDE 也不妨試試,相信 VSCode 的高顏值,一定會讓你愛不釋手!
下載並安裝所需元件
Step 1. 下載最新版的 MinGW-w64 。
Step 2. 將下載好的 MinGW-w64 安裝,並將Architecture 更改為 x86_64,其餘不須更動,安裝路徑用預設的即可。
Step 3. 至 LLVM Download Page 下載 Pre-Built Binaries 版本的 LLVM,選擇Windows(64-bit)即可,無須下載(.sig)檔案。
Step 4. 安裝下載好的 LLVM ,並選擇第二個選項 “Add LLVM to the system PATH for all users”,來自動將LLVM 路徑加到環境變數中。
Step 5. 建議安裝路徑更改為 C:\LLVM,安裝在其他地方也行,只不過後面的路徑設定就必須要自行更改。
合併檔案
Step 6. 分別打開 MinGW-w64 以及 LLVM 的安裝位置,依照剛剛的安裝狀態,分別會位於 “C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64” 以及 “C:\LLVM”。接著將 mingw64 資料夾的檔案全部複製至 LLVM 資料夾中。
VSCode 擴充外掛安裝
Step 7. 打開 VSCode 安裝所需的擴充功能外掛。
- C/C++ (C/C++ 語言的支援)
- C/C++ Clang Command Adapter (使用Clang命令完成 C / C ++)
- Code Runner (運行程式文件)
編譯環境設定
Step 8. 建立一個專案資料夾,可以自行命名,本教學將專案資料夾命名為 “C-projects”,往後的 C/C++ 專案都會存放於此,並使用 VSCode 將專案資料夾打開。
Step 9. 在專案資料夾 (C-Projects) 下新增一個名為”.vscode”的資料夾,並在此資料夾另外加入四個空白 .json檔案,分別為 “c_cpp_properties.json”、”launch.json”、”settings.json” 以及 “tasks.json”。
Step 10. 使用 VSCode 編輯這四個檔案,分別加入一些設定值。
c_cpp_properties.json
{
"configurations": [
{
"name": "MinGW",
"intelliSenseMode": "clang-x64",
"compilerPath": "C:/LLVM/bin/gcc.exe",
"includePath": [
"${workspaceFolder}"
],
"defines": [],
"browse": {
"path": [
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"internalConsoleOptions": "neverOpen",
"MIMode": "gdb",
"miDebuggerPath": "gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
],
"preLaunchTask": "Compile"
}
]
}
settings.json
{
"files.defaultLanguage": "cpp",
"editor.formatOnType": true,
"editor.snippetSuggestions": "top",
"code-runner.runInTerminal": true,
"code-runner.executorMap": {
"c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
"cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c++17 && $dir$fileNameWithoutExt"
},
"code-runner.saveFileBeforeRun": true,
"code-runner.preserveFocus": true,
"code-runner.clearPreviousOutput": false,
"C_Cpp.clang_format_sortIncludes": true,
"C_Cpp.intelliSenseEngine": "Default",
"C_Cpp.errorSquiggles": "Disabled",
"C_Cpp.autocomplete": "Disabled",
"clang.cflags": [
"--target=x86_64-w64-mingw",
"-std=c11",
"-Wall"
],
"clang.cxxflags": [
"--target=x86_64-w64-mingw",
"-std=c++17",
"-Wall"
],
"clang.completion.enable": true
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Compile",
"command": "clang++",
"args": [
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe",
"-g",
"-Wall",
"-static-libgcc",
"-fcolor-diagnostics",
"--target=x86_64-w64-mingw",
"-std=c++17"
],
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
// "problemMatcher":"$gcc"
}
]
}
大功告成,開始開發囉
到這裡,我們就已經將編譯環境設定好了,可以試著在專案資料夾中建立一個C/C++ 檔案,必須注意,每次建立專案時必定要置於專案資料夾(C-projects)下,才能正常運行,執行偵錯,如下圖程式少了一個分號, 可以發現如果有語法錯誤,底下的”問題”就會跳出錯誤訊息。
我們可以使用快捷鍵 Ctrl + Shift +B 來快速將程式編譯,產生同檔名的 .exe 執行檔。
也可以在程式畫面上點擊滑鼠右鍵,選擇 Run Code 或是快捷鍵 Ctrl + Alt + N,在底下的終端機中運行程式。
您好:
我照著您的步做做但不行
我ctrl+shift+B出現錯誤
clang++ : 無法辨識 ‘clang++’ 詞彙是否為 Cmdlet、函數、指令檔或可執行程式的名稱。請檢查名稱拼字是
否正確,如果包含路徑的話,請確認路徑是否正確,然後再試一次。
位於 線路:1 字元:1
+ clang++ ‘c:\test c\test.c’ -o ‘c:\test c/test.exe’ -g -Wall -static-l …
+ ~~~~~~~
+ CategoryInfo : ObjectNotFound: (clang++:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
都照著您的方式做了就沒產出exe檔
檔名中不能有空白
您好 我在照著您的步驟一步步進行後
最後打了和您一樣的程式碼再右鍵點擊RUN CODE 並沒有成功
他自終端機跳出了以下訊息
PS D:\vscode\C-PROJECTS> cd “d:\vscode\C-PROJECTS\” ; if ($?) { clang Hello World.c -o Hello World.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics –target=x86_64-w64-mingw -std=c11 } ; if ($?) { .\Hello
World }
clang: error: no such file or directory: ‘Hello’
clang: error: no such file or directory: ‘World.c’
clang: error: no such file or directory: ‘World.exe’
clang: error: no input files
PS D:\vscode\C-PROJECTS>
請問大大能協助嗎
你好 有闗vscode 在操作時要多列加註”#” 使用ctl+/ 時 有時候可以.但大部份[戋無法使用出現…,請問要如何設定 謝謝謝
zsh: command not found: test.c
請問遇到這個怎麼處理‘