1. 程式人生 > >在VSCode內編譯執行C++

在VSCode內編譯執行C++

說到c++編譯執行,大家第一個想到的應該是VS2015這種微軟出的大型IDE,對於一些大型專案也確實應該使用VS這種大型的IDE,但是作為一個業餘的愛好者,只是想使用c++來執行一些東西,比如一些演算法問題,那麼VS這種大型的IDE就顯得雞肋,還會消耗不必要的記憶體,這個時候VSCode這種可安裝外掛的編輯器就顯得非常高效。

主要步驟

  • 安裝VSCode
  • 在VSCode內安裝c++外掛
  • 安裝g++編譯、除錯環境
  • 修改VSCode除錯配置檔案

安裝VSCode

在VSCode內安裝c++外掛

Ctrl+P之後輸入

ext install c++
  • 1

Paste_Image.png

安裝左邊第一個c/c++的外掛(微軟的官方外掛)。 安裝完成之後重啟VSCode生效。

安裝g++編譯、除錯環境

按照流程安裝,安裝完之後開啟介面:

Paste_Image.png 安裝此處選中的模組。全選中之後按左上角Installationt->Apply Changes進行安裝(最好翻牆)。然後配置環境變數 別忘了這步就好(不懂配置的可以自己搜尋,配環境變數應該是對程式設計師而言最見到那的事了) 有時候修改環境變數需要重啟計算機

修改VSCode除錯配置檔案

用VSCode開啟一個資料夾(因為VSCode會生成一個配置檔案,所以必須在一個資料夾內執行) 新建一個a.cpp 寫一個最簡單的程式

Paste_Image.png 點選右邊的蜘蛛,再點選左邊除錯欄上方的設定按鈕,選擇c++編譯環境,將launch.json的檔案內容替換成如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",                 // 配置名稱,將會在啟動配置的下拉選單中顯示
            "type": "cppdbg",                           // 配置型別,這裡只能為cppdbg
            "request": "launch",                        // 請求配置型別,可以為launch(啟動)或attach(附加)
            "launchOptionType": "Local",                // 偵錯程式啟動型別,這裡只能為Local
            "targetArchitecture": "x86",                // 生成目標架構,一般為x86或x64,可以為x86, arm, arm64, mips, x64, amd64, x86_64
            "program": "${file}.exe",                   // 將要進行除錯的程式的路徑
            "miDebuggerPath":"c:\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這裡要與MinGw的路徑對應
            "args": ["blackkitty",  "1221", "# #"],     // 程式除錯時傳遞給程式的命令列引數,一般設為空即可
            "stopAtEntry": false,                       // 設為true時程式將暫停在程式入口處,一般設定為false
            "cwd": "${workspaceRoot}",                  // 除錯程式時的工作目錄,一般為${workspaceRoot}即程式碼所在目錄
            "externalConsole": true,                    // 除錯時是否顯示控制檯視窗,一般設定為true顯示控制檯
            "preLaunchTask": "g++"                    // 除錯會話開始前執行的任務,一般為編譯程式,c++為g++, c為gcc
        }
    ]
}

注意miDebuggerPath要與MinGw的路徑對應 Paste_Image.png 替換後儲存,然後切換至a.cpp,按F5進行除錯,此時會彈出一個資訊框要求你配置任務執行程式,點選它~ 選擇任務執行程式,點選Others,跳出tasks.json的配置檔案。 替換成如下程式碼

{
    "version": "0.1.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${file}.exe"],    // 編譯命令引數
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

儲存一下,然後切換至a.cpp,再次按F5啟動除錯

Paste_Image.png 然後就可以設定斷點除錯了

--------------------- 本文來自 zjwengyidong 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/zjwengyidong/article/details/53789533?utm_source=copy