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
https://zhuanlan.zhihu.com/p/54861567 开发者知乎
https://github.com/formulahendry/vscode-code-runner
2.4 GDB Debugger - Beyond
3.vscode命令行启动以及环境配置
3.1 从Developer Command Prompt启动VS Code
以管理员模式运行
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)。如图:
箭头是新出现的文件夹,点击打开就会发现一个文件:c_cpp_properties.json,我们点击打开他查看代码如图:
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等文件(表示成功)
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
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",
}
]
}
标签:code,cl,vs,json,编译器,exe,hello 来源: https://www.cnblogs.com/codeAndlearn/p/15974117.html