VsCode 配置window編譯器cl.exe編譯器


1.vs_code下載

VScode交互性能優越支持跨平台此外開源的插件也很豐富,號稱宇宙第一IDE,了解該IDE的使用有助於后續在linux平台下進行軟件開發
下載地址
https://code.visualstudio.com/Download

2插件安裝

2.1 C/C++ 插件

支持MSVC這種windows常用c++ 編譯器*
支持在windows上使用GCC和Ming-w-64
支持在WSL下運行GCC

WSL
Windows Subsystem for Linux(簡稱WSL)是一個為在Windows 10上能夠原生運行Linux二進制可執行文件(ELF格式)的兼容層。它是由微軟與Canonical公司合作開發,目標是使純正的Ubuntu 14.04 "Trusty Tahr"映像能下載和解壓到用戶的本地計算機,並且映像內的工具和實用工具能在此子系統上原生運行。WSL提供了一個微軟開發的Linux兼容內核接口(不包含Linux代碼),來自Ubuntu的用戶模式二進制文件在其上運行。該子系統不能運行所有Linux軟件,例如那些圖形用戶界面,以及那些需要未實現的Linux內核服務的軟件。不過,這可以用在外部X服務器上運行的圖形X Window系統緩解。

支持在linux下運行GCC
支持在macos運行Clang
(on windows) mingw-64(on windows) MSVC(windows) clang(macOS)
![image](https://img2022.cnblogs.com/blog/744642/202203/744642-20220306215307819-1803336697.png

2.2 Chinese (Simplified) (簡體中文) Language Pack for Visual Studio Code

中文語言安裝包

2.3code runner

image
https://zhuanlan.zhihu.com/p/54861567 開發者知乎
https://github.com/formulahendry/vscode-code-runner

2.4 GDB Debugger - Beyond

image

3.vscode命令行啟動以及環境配置

3.1 從Developer Command Prompt啟動VS Code

以管理員模式運行
image
image
cd c:\projects\hello_vs_code_2
code .

3.2 添加hello_vs_code_2.cpp

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

3.3配置編譯器屬性

1、按Ctrl + Shift + P打開命令調面板,並輸入C/C++,並點擊編輯配置”(UI)。如圖:
image
箭頭是新出現的文件夾,點擊打開就會發現一個文件:c_cpp_properties.json,我們點擊打開他查看代碼如圖:
image

c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0"
        }
    ],
    "version": 4
}

3.4配置任務屬性

tasks.json文件來告訴VS Code如何構建(編譯)程序,主要設計編譯器的設置以及調試等
1、讓helloworld.cpp文件激活(即先點一下這個文件中的代碼)
2、按Ctrl + Shift + P打開命令調面板,
3、輸入:tasks點選如圖 默認生成任務
4、在彈出的界面 再點 c/c++:cl.exe……如圖:
5. 在tasks.json文件激活情況下(點擊文件中任意位置表示選中)按快捷鍵ctrl+shift+B,即可生成helloworld.exe等文件(表示成功)
image
image

1、label值將在VS Code Command Palette中使用,可以是您喜歡的任何名稱。
2、command值表明我們正在使用cl.exeMSVC編譯器。
3、args數組指定將傳遞給上一步中指定的編譯器的命令行參數。它們必須按編譯器預期的順序出現。
4、在此示例中,指定了異常處理模式(EHsc)並告訴編譯器生成帶符號(Zi)的調試版本。
5、/Fe:參數告訴編譯器將可執行文件命名為“helloworld.exe”。

tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "hello_vs_code_2",
            "type": "shell",
            "command": "cl.exe",
            "args": [
                "/EHsc",
                "/Zi",
                "/Fe:",
                "hello_vs_code_2",             // 輸出文件名稱
                "hello_vs_code_2.cpp"          // 源文件     

            ],
            "group": "build",
            "presentation": {
                // Reveal the output only if unrecognized errors occur.
                "reveal": "silent"
            },
            // Use the standard MS compiler pattern to detect errors, warnings and infos
            "problemMatcher": "$msCompile"
        }
    ]
}

3.5 配置調試工具

—>>調試
—>>添加配置
—>>選擇第二個C / C++Windows(Launch)
—>>點選cl.exe…
—>>將自動創建和打開文件launch.json
image
image
image

1、橫線的文件名要和前面tasks.json創建的 文件名.exe一致; 樓主這個順序搞出來的這個文件名可以改可以不改,改的話這一行應該為:
"program": "${workspaceFolder}/helloworld.exe",
如果手動打全行注意最后一行的逗號(其實只修改后半部分文件名即可)
2、stopAtEntry值設置為true使調試器在該斷點上停止。最好為true

launch.json
{
    // 使用 IntelliSense 了解相關屬性。 
    // 懸停以查看現有屬性的描述。
    // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name":"hello_vs_code_2",
            "type": "cppvsdbg",
            //"type": "cppdbg",
            "program": "${workspaceRoot}/hello_vs_code_2.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": false,
            
           // "MIMode": "gdb",
            "request": "launch",
            "setupCommands": [
                {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
                
                }
             ],
             "preLaunchTask": "hello_vs_code_2",
        }
    ]
}
## 3.6 F5運行調試

image


免責聲明!

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



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