VSCode搭建C開發環境 新手教程

介紹

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)。如下圖,

20200409215847171

效果如下,

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 IconsCommunity Meterial Theme會一併安裝。

如果你不喜歡,可以安裝Atom One Dark Theme

推薦的全局配置

CTRL+,進入全局配置。

更改顯示字體大小。

建議開啓自動保存,這樣修改文件內容後就不用CTRL+S了。

在這裏插入圖片描述

開啓提示。

如果你需要這些擴展程序和全局配置都雲同步,那麼請你下載Visual Studio Code - Insiders

20200409214010596
到此結束。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章