介紹
VS Code可以作爲一個輕量級開發的文本編輯器,VSCode提供了許多插件,讓開發效率和可玩性變得很高。
VS Code開發場景如下:
- 前端
- 後端語言,如:C/C++,C#,Java等
- 嵌入式開發:STM32,C51,ARM等
像Java應該用IDEA和Eclipse,輕量級還是可以用的。如果學習C還是首選VS Code吧。
如果是嵌入式開發,強烈建議使用VS Code,剛開始上手可能需要幾天,但是一旦熟悉,強大的代碼補全(Auto Completion)和變量提示(Parameter Hints)等特性讓開發效率比Keil要高得多。但是目前版本,針對GBK2312編碼的文件,在Parameter Hints時,會出現亂碼。將文件編碼改爲GBK2312也沒用。
References
Doc
Documentation for Visual Studio Code【官方文檔】:如果你看得懂英文或能耐心看英文的話,許多問題的答案都可以在文檔中找到。官方文檔寫得很詳細也很系統。
Visual Studio Code Variables Reference【官方文檔】
Visual Studio Code User Interface【官方文檔】
插件篇
VSCode 必裝的 10 個高效開發插件 - 慕課網的文章 - 知乎
裝上這幾個 VSCode 插件後,上班划水摸魚不是夢 - GitHub Daily的文章 - 知乎
討論VSCode的使用,一定要結合具體的使用場景進行講解,接下來講解的是利用VSCode搭建搭建C語言開發環境。
搭建C/C++開發環境
C/C++開發環境就是g++和gdb。
官網文檔有詳細說明如何搭建C/C++開發環境的VSCode步驟,英文說明請參考這裏。再多提一句,文檔教程真的很簡單,文檔會教你如果檢測g++和gdb安裝情況,如何下載並安裝,如何安裝VS Code C/C++插件,如何編寫第一個HelloWorld(自己按C或C++語法編寫一個小Demo,可不參考文檔代碼),如何Build,如何運行和Debug。
你也可以參考Visual Studio Code 如何編寫運行 C、C++ 程序? - 譚九鼎的回答 - 知乎 。
如果你不想看官方文檔,按我下面的教程來可以。
GCC環境搭建
安裝MinGW
Download File List - MinGW - Minimalist GNU for Windows - OSDN
下載並安裝mingw-get-setup.exe
,一直下一步即可。默認的安裝路徑不要修改,應該是C:\MinGw
安裝完成後,選擇計算機 - 屬性 - 高級系統設置 - 環境變量,在系統變量Path中追加C:\MinGw\bin
。
打開cmd
,輸入mingw-get.exe
,出現MinGw installation manager
窗口,說明安裝正常,關閉窗口。
cmd輸入
mingw-get install g++
安裝g++完成後,輸入
mingw-get install gdb
安裝gdb,這樣GCC環境搭建完成了。
如何檢測g++和gdb?
g++ --version
gdb --version
出現版本信息就代表安裝成功。
安裝C/C++ extensions for VS Code
CTRL + SHIFT + X
進入擴展程序,輸入C++,安裝
第一個程序
這裏以創建C語言的源程序爲例哦。如果創建C++請參考官方文檔,或者按我的教程來,然後把所有配置文件的gcc.exe改成g++.exe就可以了。
創建目錄
創建一個文件夾名爲VSCode-C-Lib
,進入文件夾後,創建一個文件夾名爲Demo1
。
進入VSCode-C-Lib/Demo01
目錄,在該目錄下創建一個名爲.vscode
的文件夾。
回到Demo1目錄,創建main.c
,其路徑爲VSCode-C-Lib/Demo01/main.c
。
#include <stdio.h>
int main() {
printf("hello world!\n");
return 0;
}
Build main.c
創建一個task.json
,該文件會告訴VS Code該如何編譯程序。這個task
創建方法:Terminal > Configure Default Build Task。在下拉欄中選出C/C++: gcc.exe build active file
點擊確定,會發現VSCode-C-Lib/Demo01/.vscode
會出現一個task.json
的文件夾,這時候按CTRL+S
保存文件。
默認的task.json
內容如下
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: gcc.exe build active file",
"command": "C:\\MinGW\\bin\\gcc.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\MinGW\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
${file}
:當前打開的文件。
${fileDirname}
:當前打開的文件的所在目錄。
${fileBasenameNoExtension}
:當前打開的文件的不帶後綴名的文件名。
接下來可以運行task,進行編譯源文件。
第一步,先選中文件,即切換到main.c視圖。
這一步很重要,因爲${file}、${fileDirname}、${fileBasenameNoExtension}
這些參數都是基於當前打開的文件,也就是說如果你不切換到當前視圖,可能程序無法編譯。
第二部,Terminal > Run Build Task(CTRL+SHIFT+B),開始編譯程序。
這裏就算完成了,接下來打開新控制檯,在此之前,先設置默認Terminal(控制檯)。
第三步,設置默認控制檯。
選擇PowerShell
。
好了,可以打開控制檯了,Terminal > New Terminal(CTRL + SHIFT + `)。
第四步,運行程序。
出現運行task
後編譯出來的程序了,以.exe
結尾。
接下來,運行程序,輸出./main
。
這樣就完成源文件的編譯和運行了。
Debug main.c
創建一個launch.json
,該文件會告訴VS Code如何運行GDB調試器。當配置該文件後,按下F5
可以運行DEBUG。
Run > Add Configuration…
接下來會創建一個launch,json
的文件,內容如下,
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe - 生成和調試活動文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "爲 gdb 啓用整齊打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "gcc.exe build active file"
}
]
}
${workspaceFolder}
:打開的文件夾的路徑。在這裏應該指的是Demo1
,如下圖,
切換到main.c所在的文件視圖,打上斷點,然後選擇Run > Start Debugging(F5)。如下圖,
效果如下,
DEBUG就介紹到這,DEBUG詳細內容自行百度或查看官方文檔。
關於編譯和運行C程序的建議
不管是Run Task
或者Start Debugging
都是基於切換到當前文件視圖執行的。
修改task.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: gcc.exe build active file",
"command": "C:\\MinGW\\bin\\gcc.exe",
"args": [
"-g",
"${workspaceFolder}\\*.c", //打開的目錄下的.c文件
"-o",
"${workspaceFolder}\\myProgram.exe" //打開的目錄下輸出myProgram.exe,這是一個硬編碼方式
],
"options": {
"cwd": "C:\\MinGW\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
},
]
}
這樣,沒切換到當前文件,也能直接運行編譯而不報錯。
如果我要寫第N個程序目錄該如何創建
比如寫C項目到Demo2
,那麼我只需要複製VSCode-C-Lib/Demo1/
的.vscode
文件夾,然後複製到Demo02中就行了。
VS Code的配置都是可以局部配置優先。因此編寫不同的語言,可以指定不同類型的.vscode,然後新建同類工程目錄時,複製對應同類的.vscode文件夾就行了。哈哈,多方便啊。
個人推薦的插件
由於我喜歡IDEA中的Material Theme
主題,所以我VS Code也安裝了,注意安裝Material Theme
後,Material Theme Icons
和Community Meterial Theme
會一併安裝。
如果你不喜歡,可以安裝Atom One Dark Theme
。
推薦的全局配置
按CTRL+,
進入全局配置。
更改顯示字體大小。
建議開啓自動保存,這樣修改文件內容後就不用CTRL+S
了。
開啓提示。
如果你需要這些擴展程序和全局配置都雲同步,那麼請你下載Visual Studio Code - Insiders
到此結束。