其他分享
首页 > 其他分享> > VsCode 配置window编译器cl.exe编译器

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://www.icode9.com/i/l/?n=22&i=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

标签:code,cl,vs,json,编译器,exe,hello
来源: https://www.cnblogs.com/codeAndlearn/p/15974117.html