Windows10下利用Visual Studio Code搭建C語言開發環境

1. 前言

Visual Studio Code搭建C語言的開發環境,網上有一大堆的教程,但是很多都要麼過時了,要麼就是不能運行,自己也踩了好幾個坑。
比較好的策略就是官網教程+B站+知乎,尤其是B站的教學視頻非常的多,播放量前幾的都是很良心的。本文最後也會給出相應的B站鏈接,感謝這些博主的貢獻。

2. 下載安裝VSCode以及MinGW

2.1 下載安裝VSCode

1.官網下載安裝符合自己操作系統的安裝包,我這裏安裝的是VSCodeSetup-x64-1.40.2 官網下載VSCode安裝包 Windows System Installer 64 bit
2. 一路點點點,需要注意一點,出現以下界面時注意把這些都勾上。
在這裏插入圖片描述
安裝成功後打開是這個界面:
在這裏插入圖片描述

2.2 下載安裝MinGW-w64

官網

  1. 下載軟件,我這裏是下載的x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
  2. 解壓軟件,下載完成後解壓軟件,並把裏面的文件夾mingw64放到C盤的根目錄下。
  3. 添加mingw64裏面的bin文件夾到系統環境變量。
  4. 進入windows控制檯檢驗是否添加成功。
    若成功則如下圖:
    在這裏插入圖片描述

3. 添加VSCode的C語言開發插件

  1. Chinese (Simplified) Language Pack for Visual Studio Code插件,安裝了這個插件,VSCode就變爲中文界面了,對新手就友好多了。
  2. **C/C++**插件,寫C/C++的插件。
  3. Code Runner插件,一鍵運行C/C++/Python/Java等語言程序的插件。注意,這裏需要配置一下配置擴展配置,把run in terminal勾選上。
    在這裏插入圖片描述
  4. Material Theme插件,顯示不同的主題。
  5. C/C++ GNU Global插件。
  6. Material Icon Theme插件,更好的顯示各個文件的圖標,便於區分。
  7. C/C++ Compile Run插件。
  8. Prettier - Code formatter 插件,用於格式化文檔和代碼。

4. 配置C語言開發環境

另外要使用VSCode完成C語言開發環境的配置,需要配置三個文件。在電腦桌面新建一個C文件夾,然後在裏面新建以下兩個文件夾。注意:路徑裏面一定不能有中文出現。
在這裏插入圖片描述
然後再在.vscode中新建以下三個文件。
在這裏插入圖片描述
文件內容見後文。

4.1 配置c_cpp_properties.json

{
    "configurations": [
        {
            "name": "MinGW64",
            "intelliSenseMode": "gcc-x64",
            "compilerPath": "C:\\mingw64\\bin\\gcc.exe",
            "includePath": [
                "${workspaceFolder}"
            ],
            "cStandard": "c11"
        }
    ],
    "version": 4
}

注意,這裏你需要把 "compilerPath": "C:\\mingw64\\bin\\gcc.exe" 換成你的安裝路徑,如果你和我一樣,默認就好。

4.2 配置launch.json文件

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C Launch (GDB)", // 配置名稱,將會在啓動配置的下拉菜單中顯示
            "type": "cppdbg", // 配置類型,這裏只能爲cppdbg
            "request": "launch", // 請求配置類型,可以爲launch(啓動)或attach(附加)
            "targetArchitecture": "x64", // 生成目標架構,一般爲x86或x64
            "program": "${fileDirname}/build/${fileBasenameNoExtension}.exe", // 將要進行調試的程序的路徑
            "args": [], // 程序調試時傳遞給程序的命令行參數,一般設爲空即可
            "stopAtEntry": false, // 設爲true時程序將暫停在程序入口處,一般設置爲false
            "cwd": "${workspaceRoot}", // 調試程序時的工作目錄,一般爲${workspaceRoot}
            "externalConsole": true, // 調試時是否顯示控制檯窗口,一般設置爲true顯示控制檯
            "internalConsoleOptions": "neverOpen", // 如果不設爲neverOpen,調試時會跳到“調試控制檯”選項卡",
            "MIMode": "gdb", // 指定連接的調試器
            "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe", // 調試器路徑
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for GDB",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "compile" 
        }
    ]
}

注意,這裏你需要把 "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe" 換成你的安裝路徑,如果你和我一樣,默認就好。

4.3 配置tasks.json文件

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "compile",
            "command": "gcc",
            "args": [
                "${file}", // 指定編譯源代碼文件             
                "-o",
                "${fileDirname}/build/${fileBasenameNoExtension}.exe", // 指定輸出文件名
                "-O0", // 優化級別
                "-ggdb3", // 生成和調試有關的信息
                "-Wall", // 開啓額外警告
                "-std=c11", // 使用c11標準
                "-Wno-format",
                "-finput-charset=UTF-8", //輸入編譯器文本編碼 默認爲UTF-8
                "-fexec-charset=GB18030",
                "-D _USE_MATH_DEFINES"
            ],

            "type": "shell",
            
            "group": {
                "kind": "build",
                "isDefault": true
            },

            "presentation": {
                "echo": true,
                "reveal": "always", // 在“終端”中顯示編譯信息的策略,可以爲always,silent,never
                 "focus": false,
                 "panel": "shared" // 不同的文件的編譯信息共享一個終端面板
            },
        }
    ]
}

5. 測試C語言開發環境

如圖:新建一個for_example.c文件。可以按F5進行調試,或者直接右鍵run code。run code成功會輸出如圖所示。
在這裏插入圖片描述

#include <stdio.h>
#include <stdlib.h>

/* print Fahrenheit-Celsius table */
main()
{
    int fahr;

    for (fahr = 0; fahr <= 300; fahr = fahr + 20)
        printf("%3d %6.1f \n", fahr, (5.0/9.0) * (fahr - 32));
    system("pause");
}

6. 配置中遇到的坑

配置過程中會遇到各種各樣的問題,這時候需要多思考,去Google或者百度尋找答案。這裏我把自己遇到的坑總結一下。

  1. 路徑找不到的問題。1)查看是否添加環境變量成功;2)查看是否gcc.exe和gdb.exe文件的位置和三個配置文件是否對應;3)路徑中是否存在中文。
  2. 中文亂碼問題。因爲最新的VSCode默認用UTF-8編碼,所以一般問題不大,遇到了重新設置一下編碼就行。在VSCode界面的右下方點擊可以設置。
    在這裏插入圖片描述
  3. 如果輸出的終端還是亂碼,這是時候很可能是因爲你的windows系統,默認終端是GBK2312編碼。
    使用chcp命令,查看cmd的編碼設置,GBK2312的代碼頁編號是936
    在這裏插入圖片描述
    改成utf-8的編碼,utf-8對應的代碼頁編號是65001
    執行chcp 65001就可以把cmd的編碼設置成uft-8
    在這裏插入圖片描述
    這個方法的缺陷在於,只能保證這個cmd是’utf-8’,換成其他cmd就會變回GBK2312
  4. Debug過程中,遇到有中文名稱的路徑會導致調試失敗,這是mingw的gdb本身不支持中文路徑名造成的,如果你要用gdb調試的話就不能有中文字符出現在路徑名裏。
  5. VSCode 默認需要你去手動保存,否則不會保存,需要你一直 Crtl + S 很麻煩,尤其是測試代碼時,不保存,就不會運行修改後的代碼。方法是: 文件 --> 勾上自動保存,以及 文件 --> 首選項 --> 設置 --> 常用設置 --> files: Auto Save --> OnFucosChange(這裏可以自行選擇,我的這個是當編輯器失去焦點時自行保存)。自己也要多按保存,以防萬一。

7. 參考文獻

站在巨人的肩膀上,總能幫助我們更好的前行。作爲小白,VSCode的配置我也踩了很多坑,看了沒有能復現的博文,浪費了一些時間,這裏特別感謝以下幾個博主的教程。如果大家有什麼疑問,歡迎大家在博客下面留言交流,一起進步!

  1. Visual Studio Code 如何編寫運行 C、C++ 程序?
  2. Using Mingw-w64 in VS Code
  3. B站鵝彈博主的教學視頻

如果想和我一起交流學習,歡迎大家關注我的微信公衆號No Bug編程筆記,通過掃描下方二維碼或者搜索NoBugNotes關注。這個公衆號主要是分享和記錄自己學習編程的筆記,如:C – > Python – > Java等,後續還會分享自己面試以及職場上的成長心得。
在這裏插入圖片描述

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