【C++】VS Code配置


0.前言

  本文已配置C++環境為例,本文主要是面向剛開始接觸VS Code的朋友,采用生成默認配置任務的方法,在編寫本文過程中大量參考了官方文檔,感興趣的朋友可直接前往傳送門。

環境: win10 + VS Code 1.43.1

官方下載地址:https://code.visualstudio.com/

官方文檔傳送門:https://code.visualstudio.com/docs

1. 從官方下載地址下載VS Code並安裝,安裝過程應盡量避免中文路徑。

2. 打開軟件,在VSCode最左側有五個選項,從上到下依次為資源管理器、搜索、源代碼管理器、運行和extension。截圖中含有task.json等文件,先不用管它們,剛開始配置是沒有這些文件的。

圖1

3. 安裝extension

  根據個人喜好可以安裝不同的擴展(extension),點擊最后一個選項搜索即可,上述是安裝了中文插件后截圖,直接鍵入Chinese,第一個即為中文擴展。同樣地,鍵入C++,然后安裝擴展。

4.下載C++編譯器

  這里下載mingW-W64,下載傳送門:http://mingw-w64.org/doku.php/download。下載中間這個,並安裝,安裝過程中的setting一般保持默認設置,其他的根據需要修改。安裝完成后,需要將安裝路徑添加到系統環境變量中,即“路徑\mingw64\bin”,安裝完成后需要重啟。

 

 

 

 

5.配置環境

  在配置環境過程中,會產生一個.vscode 文件夾,里面包含三個配置文件:

tasks.json:編譯指令  (build instructions)            
launch.json:調試設置 (debugger settings)
c_cpp_properties.json:編譯器路徑和IntelliSense設置 (compiler path and IntelliSense settings)

 (1)配置task.json

  首先,在目標目錄下新建文件夾vscode(當然名稱隨你喜好),然后如圖2,依次打開:文件-->打開文件夾-->選擇vscode,結果如圖3。點擊圖3方框中“新建文件”新建main.cpp,並粘貼以下代碼,結果如圖4.

#include <iostream> #include <vector> #include <string>

using namespace std; int main() { vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"}; for (const string& word : msg) { cout << word << " "; } cout << endl; }

圖2

圖3 

圖4

 然后依次點擊最上方工具欄中 終端-->配置默認生成任務,然后選擇C/C++:g++.exe build active file ,結果如圖7,如果這里彈出的候選方式中沒有“C/C++:g++.exe build active file”,可參考附錄解決方法。

 圖5

圖6

 圖7

 為了更方便注釋與說明,將tasks.json寫在下面,需要注意的是在VS Code中路徑中是”\\“而不是單個"\",與visual studio2015一致。

 

{
// 有關 tasks.json 格式的文檔,請參見
    // https://go.microsoft.com/fwlink/?LinkId=733558
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "g++.exe build active file",                // label:左側”運行“選項中編譯器的名稱,可以任意指定。
            "command": "D:\\4.Software\\mingw-W64\\mingw64\\bin\\g++.exe",  // command:指定了本程序運行編譯器的路徑,這里是g++.exe。
            "args": [                                 // args: args數組指定了傳遞給編譯器的命令(commamd-line)參數,通過這個參數數組會告訴編譯器
                "-g",                                 // 處理的是”${file}“文件,並且在${fileDirname}目錄下生成${fileBasenameNoExtension}.exe 
                "${file}",                               
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "D:\\4.Software\\mingw-W64\\mingw64\\bin"
            },
            "problemMatcher": [                           // problemMathcher: The problemMatcher value selects the output parser to use for finding errors and warnings in the compiler output. 
                "$gcc"
            ],
            "group": {
                "kind": "build",                                            // group中的”isDefault“參數僅僅是為了方便,當其為True時,可通過快捷鍵ctrl+shift+B運行生成任務,如果為False,無法通過快捷鍵生成,但可以通過 終端-->運行生成任務。
                "isDefault": true
            }
        }
    ]
}

回到main.cpp,點擊 終端 -->運行生成任務,在底部終端會顯示"終端被任務重用,按任意鍵繼續" 。 同時也可以看到有兩個參數,其對應於tasks.json中的args數組,-g參數表示當前編譯的是main.cpp,-o參數表示當前生成的可執行exe文件的名稱和路徑。

圖8

圖9

(2) 配置調試器 debugger

依次點擊 運行-->啟動調試,出現圖11所示,然后選擇”C++(GDB/LLB)“,出現圖12,選擇第一個g++.exe,然后自動生成launch.json。

圖10

圖11

 

圖12

 

 launch.json如下:

{
    // 使用 IntelliSense 了解相關屬性。 
    // 懸停以查看現有屬性的描述。
    // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",  //正調試的可執行文件路徑
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\4.Software\\mingw-W64\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "為 gdb 啟用整齊打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "g++.exe build active file"
        }
    ]
}

(3) 配置 c_cpp_properties.json

 ctrl+shift+p然后鍵入C/C++,選擇"C/C++編輯配置(UI)"然后自動生成c_cpp_properties.json。

 

 圖13

 

 圖14

c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\4.Software\\mingw-W64\\mingw64\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

 

結語

  本文主要記錄初次使用VS Code配置過程,在這三個json文件中一些參數的具體含義現在還沒弄懂,后續會繼續更新VS Code使用相關文章,歡迎繼續關注。(Date on 25, Mar, 2020)

其他博客配置方法:

[1] https://zhuanlan.zhihu.com/p/110027894?from_voters_page=true

 

附錄

 在配置默認生成任務時,可能會出現無“C/C++:g++.exe build active file”的情況,那么就需要手動改改。

ctrl+shift+p然后鍵入C/C++,選擇"C/C++編輯配置(UI)"然后自動生成c_cpp_properties.json。就像上邊的(3) 配置 c_cpp_properties.json一樣,找到“編譯器路徑”,然后再下拉框中選擇g++,值得注意的是,如果先前存在tasks.json,最好先刪掉,然后選擇g++,再手動生成默認配置任務。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM