VsCode 配置window编译器cl.exe编译器
2022/3/7 6:23:04
本文主要是介绍VsCode 配置window编译器cl.exe编译器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 1.vs_code下载
- 2插件安装
- 2.1 C/C++ 插件
- 2.2 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
- 2.3code runner
- 2.4 GDB Debugger - Beyond
- 3.vscode命令行启动以及环境配置
- 3.1 从Developer Command Prompt启动VS Code
- 3.2 添加hello_vs_code_2.cpp
- 3.3配置编译器属性
- 3.4配置任务属性
- 3.5 配置调试工具
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.www.zyiz.net/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", } ] }
这篇关于VsCode 配置window编译器cl.exe编译器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享