VS Code配置C/C++調(diào)試環(huán)境

需要準(zhǔn)備的程序

  • Visual Studio Code 建議選擇System Installer
    https://code.visualstudio.com/#alt-downloads 微軟的網(wǎng)站都不能跳轉(zhuǎn)?呵
  • MinGW-w64 編譯器,如果下載太慢的話,我還傳了一個(gè)藍(lán)奏云

開始配置

  • 注冊(cè)環(huán)境變量

將MinGW解壓到一個(gè)合適的目錄,比如我解壓到C:\Program Files下,找到解壓的目錄

復(fù)制解壓出來(lái)的bin目錄的地址

右擊此電腦選擇屬性

點(diǎn)擊環(huán)境變量

點(diǎn)擊Path,選擇編輯

新建,將復(fù)制的目錄位置粘貼到此,確定

在桌面上按住shift點(diǎn)擊鼠標(biāo)右鍵-在此處打開powershell, 輸入gcc -v,看到如下界面說(shuō)明環(huán)境變量配置成功

環(huán)境變量配置成功
  • 配置VS Code

建議在配置之前新建一個(gè)目錄專門用來(lái)存儲(chǔ)C/CPP文件,因?yàn)榕渲迷O(shè)置VS Code會(huì)默認(rèn)保存到配置時(shí)文件的目錄下。

Open with Code

新建一個(gè)C文件Code就會(huì)提示安裝相關(guān)插件

安裝拓展

我們寫點(diǎn)代碼,然后進(jìn)入調(diào)試界面,左邊第三個(gè)為調(diào)試界面,然后點(diǎn)擊綠色小三角

就會(huì)彈出環(huán)境選項(xiàng),我們選擇第一個(gè)
這里我們先選擇第一個(gè)gcc.exe,這個(gè)選項(xiàng)會(huì)生成gcc編譯的task,同時(shí)生成lauch.json,順利的話會(huì)同時(shí)編譯調(diào)試當(dāng)前代碼

為插件開發(fā)者點(diǎn)贊,一鍵生成配置省去不少步驟。然后我們來(lái)看一下生成的兩個(gè)文件。

  • task.json
    可以看到已經(jīng)自動(dòng)添加了編譯命令gcc -g ${file} -o {fileBasenameNoExtension}.exe,這個(gè)命令會(huì)將我們的a.c編譯生成a.exe
  • launch.json

如果你僅僅編寫C語(yǔ)言文件,到此 VS Code已經(jīng)能夠滿足你的要求。編寫好文件,設(shè)置斷點(diǎn),點(diǎn)擊綠色小三角或者使用快捷鍵F5進(jìn)行調(diào)試即可

不過(guò),我們看到控制臺(tái)輸出了亂碼,原因在于VS Code默認(rèn)編碼為UTF-8,而我們用的中文系統(tǒng)的控制臺(tái)默認(rèn)編碼為GBK,只需要更改VS Code保存編碼

點(diǎn)擊右下角的UTF-8

點(diǎn)擊第二個(gè) save with encoding

接著在框內(nèi)輸入gbk,點(diǎn)擊下面的選項(xiàng)即可
可以看到已經(jīng)可以正常輸出

調(diào)試的兩個(gè)快捷鍵與Visual Studio相同,F10逐過(guò)程,F11逐語(yǔ)句。
好了,至此C環(huán)境已經(jīng)配置完成。如果你只需要編寫C的話下面的不用看了


C++環(huán)境配置

我們參照已經(jīng)生成的C的配置文件

打開lauch.json,點(diǎn)擊Add Configuration,選擇箭頭所指的(gdb)lauch

可以看到為我們生成的新調(diào)試方式

對(duì)比著之前的gcc調(diào)試方式,我們需要修改一點(diǎn)細(xì)節(jié),從之前生成的復(fù)制過(guò)來(lái)修改lauch.json,主要修改這幾個(gè)選項(xiàng)

  • program
    ${fileDirname}\\${fileBasenameNoExtension}.exe
  • miDebuggerPath
    復(fù)制之前生成的
  • externalConsole
    false
  • 添加preLaunchTask

name也可以修改下,讓自己能識(shí)別是哪個(gè)命令就行。
完成后的lauch.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": "(g++) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files\\mingw64\\bin\\gdb.exe",
            "preLaunchTask": "g++",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        },
        
    
        {
            "name": "gcc",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "gcc"
        }
    ]
}

然后我們打開task.json,按照之前生成的gcc編譯命令,添加g++編譯命令.只需將之前的復(fù)制更改

  • label
    g++
  • command
    復(fù)制之前生成的,將gcc.exe改成g++.exe

完成后的task.json

{
    "tasks": [
        {
            "type": "shell",
            "label": "gcc",
            "command": "C:\\Program Files\\mingw64\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "C:\\Program Files\\mingw64\\bin"
            }
        },
        {
            "type": "shell",
            "label": "g++",
            "command": "C:\\Program Files\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "C:\\Program Files\\mingw64\\bin"
            }
        }
    ],
    "version": "2.0.0"
}

回到我們的調(diào)試界面,已經(jīng)可以看到添加的g++調(diào)試選項(xiàng),修改保存編碼為GBK,調(diào)試成功

至此,你的 VS Code 已經(jīng)可以編譯調(diào)試C/C++了 ,當(dāng)然是在我們創(chuàng)建的目錄下的c/cpp文件。


注意(同時(shí)安裝了Visual Studio)

如果你的電腦同時(shí)安裝了VS的話,會(huì)出現(xiàn)頭文件的提示錯(cuò)誤,并且有些函數(shù)無(wú)法自動(dòng)補(bǔ)全。原因在于VS Code會(huì)默認(rèn)使用msvc編譯和VS的頭文件目錄,如果你沒有安裝VS的話,VS Code當(dāng)然不會(huì)找到msvc及VS頭文件相關(guān)配置目錄,就會(huì)默認(rèn)使用gcc

默認(rèn)使用msvc編譯

默認(rèn)使用VS 的頭文件

頭文件錯(cuò)誤,并且不會(huì)檢查代碼錯(cuò)誤

解決辦法

將默認(rèn)編譯器更改為gcc即可

更改成gcc

我們可以看到在setting.json里多了默認(rèn)gcc的設(shè)置


不會(huì)再提示頭文件的錯(cuò)誤,也會(huì)檢查代碼錯(cuò)誤了

成功檢查代碼錯(cuò)誤,并給出代碼補(bǔ)全

最后推薦幾款好用的VS Code 插件

  • Chinese (Simplified) Language Pack for Visual Studio Code
    中文插件
  • One Dark Pro
    很好看的主題插件
  • Tabout
    Tab鍵跳出右括號(hào),對(duì)于習(xí)慣了 Visual Studio 的用戶超級(jí)方便

效果如下

本編文章面向未使用過(guò) VS Code 的用戶及編程初學(xué)者。如果您正在尋找一款輕量化,顏值高的文本編輯器,同時(shí)又有輕度調(diào)試需求的話,不妨試試VS Code。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容