VSCode配置msvc编译调试环境

1.VS Code简介

VS Code 使用 Electron 框架构建用户界面,该框架使用 Chromium 和 Node.js 构建桌面应用程序。这使得 VS Code 能够在 Windows、Linux 和 macOS 上运行,并且可以使用 Web 技术 (HTML、CSS 和 JavaScript) 构建用户界面。 VS Code 使用 Monaco 引擎来提供文本编辑功能。

VS Code提供各种插件(目前的插件数量已经非常多包含各个方便,可以供开发者使用),针对不同的语言提供插件支持,你可以使用VSCode配置各种语言的开发环境。

我自己目前已经使用VS多年,对VS Code 有着极大地兴趣,准备配置一下C++语言各个版本的编译调试环境(MSVC,g++)

2.准备工作

2.1.安装msvc编译器组件

 1.可以直接安装VS2022或者其它版本(我这里是已经装有VS2022)

 2.下载Visual Studio Installer VS下载网址:Visual Studio 2022 Community

安装时,选择“单个组件”选项卡,我们需要以下列表里的组件,请确保他们已被选中或已安装:

注:这两个就够了;选择其他相近或较早版本的组件也可,一定要是MSVC生成工具和Windows SDK。

选择安装位置,安装好后关闭Visual Studio。接下来配置MSVC和windows kits的环境变量,需要添加以下环境变量或路径:

 

2.2 安装VS Code和c++相关的插件

VSCode下载地址:Visual Studio Code。打开,搜索并安装扩展C/C++,如下图所示:

3. 配置VS Code

VSCode在每个工作区(项目文件夹)下,都配有一个.vscode隐藏文件夹,里面存放一些脚本文件,指示VSCode对工作区的代码进行操作的模板或模式。 

3.1 配置编译器等信息(c_cpp_properties.json)

以E:\vsCode\CPlusProject\ProjectOne为例,建立它,并在VSCode里打开这个文件夹,使它成为我们目前的主工作区。输入快捷键Ctrl+Shift+P,呼出命令行,输入C/C++,搜索并寻找一个全称为C/C++: Edit Configurations (UI)的命令,点它(如果你搜索不到,或许是遗漏了命令前导符>)。这时就会自动生成一个.vscode文件夹,里面有一个文件叫c_cpp_properties.json,我们的编译器配置就靠它了。

我自己的c_cpp_properties.json文件如下:

{"configurations": [{"name": "windows-msvc-x64","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22000.0","compilerPath": "E:/vs2022/VC/Tools/MSVC/14.30.30705/bin/Hostx64/x64/cl.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "windows-msvc-x64"}],"version": 4
}

3.2 配置构建(生成)任务(tasks.json)

1.键入Ctrl+Shift+P,呼出命令行,输入build,搜索并寻找一个全称为Tasks: Configure Default Build Task的命令,点它。

我自己的tasks.json如下:

{"version": "2.0.0","tasks": [{"label": "C/C++ Executable: build current active file","type": "cppbuild","command": "cl.exe","args": ["/Zi","/EHsc","/nologo","/DUNICODE","/D_UNICODE","/DEBUG","/Fe:",  "${fileDirname}\\${fileBasenameNoExtension}.exe","${file}"],"options":{"cwd": "${fileDirname}"},"problemMatcher": "$msCompile","group": "build","detail": "Build only the current active file."}]
}

注:如果要调试,则需要在"args" 参数中输入"/DEBUG" 等参数,否则调试时会出现问题 

2.配置完之后,可以尝试编译一下自己添加的cpp,会输出编译好的文件到指定目录

Ctrl+Shift+P呼出命令行,输入run task,它会推荐你几个匹配度较高的命令,请选中全称为Tasks: Run Task的指令:

如下图所示:

 

 

 

3.3 配置调试器(launch.json) 

配置launch.json文件

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(Windows) 启动","type": "cppvsdbg","request": "launch","program": "${workspaceFolder}\\helow.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"console": "externalTerminal"}]
}

开始调试:

 

 注:从编译到调试,每一步的配置文件都是关键,这里只是简单描述,具体细节还需要自己摸索实践

4.参考文章

在 VSCode 中配置 MSVC 环境_vscode配置msvc-CSDN博客

【精选】windows环境下VSCode配置C++教程(使用msvc编译器)_弦乐四重奏的博客-CSDN博客
VSCode配置C/C++环境 - 知乎
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/177302.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio Code安装和设置中文

文章目录 Visual Studio Code安装Visual Studio Code设置中文 步骤如下: Visual Studio Code安装 1.下载安装包 VS Code的官网 下载链接中的“az764295.vo.msecnd.net” 替换为国内镜像地址“vscode.cdn.azure.cn”,下载速度直接飙升至几十 Mb/s。(在官网下载速度…

Linux 图形界面配置RAID

目录 RAID 1 配置 RAID 5配置 , RAID 配置起来要比 LVM 方便,因为它不像 LVM 那样分了物理卷、卷组和逻辑卷三层,而且每层都需要配置。我们在图形安装界面中配置 RAID 1和 RAID 5,先来看看 RAID 1 的配置方法。 RAID 1 配置 配置 RAID 1…

sql查询结果跟in传入参数顺序一致

Orcle、postgresql、td-sql中可以使用如下语句 select namefrom tbl_user_infowhere id in (4,3,1)order by instr(4,3,1,id);查询结果:

开源项目datavines内存泄漏问题分析

应用程序开启JMX java -Dspring.profiles.activemysql -Dcom.sun.management.jmxremote.port1099 -Dcom.sun.management.jmxremote.sslfalse -Dcom.sun.management.jmxremote.authenticatefalse -Djava.rmi.server.hostname127.0.0.1 -jar dataVines.jar 通过jdk自带工具&…

Reids集群

目录 一、集群的概念 1.为什么要搭建集群? 2.Redis搭建集群是否需要考虑状态同步的问题? 二、Redis集群的模式 1.redis集群--主从模式 1.1什么是Redis的主从模式? 1.2.主从模式它们之间的数据是怎么实现一个同步的? 1.3.主…

NovelD: A Simple yet Effective Exploration Criterion论文笔记

NovelD:一种简单而有效的探索准则 1、Motivation 针对稀疏奖励环境下的智能体探索问题,许多工作中采用各种内在奖励(Intrinsic Reward)设计来指导困难探索环境中的探索 ,例如: ICM:基于前向动力学模型的好奇心驱动探索RND&…

【Qt-23】Qt charts绘制曲线图

一、QChart简介 QChart是Qt中专门用于绘制图表的模块,支持折线图、柱状图、饼图等常见类型。其主要组成部分有: QChart:整个图表的容器,管理图表中的所有数据和图形属性QChartView:继承自QGraphicsView,用于…

蓝桥杯算法心得——拼数(排列型回溯dfs)

大家好,我是晴天学长,排列型的dfs,在一些需要暴搜的题中很中很重要,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .拼数 2) .算法思路 超级递归 1.遍历数组&#…

【从删库到跑路】MySQL数据库 | 全局锁 | 表级锁 | 行级锁

文章目录 🌹简述🎄全局锁⭐数据备份🎈设置全局锁🎈对表进行备份🎈释放锁 🎄表级锁🛸表锁⭐读锁⭐写锁 🛸元数据锁🛸意向锁⭐意向共享锁⭐意向排他锁 🎄行级锁…

国产企业级低代码开发哪个最好?这一款超好用

低代码开发平台(Low-code Development Platform)正在迅速崛起,成为未来软件技术发展的主导趋势。通过使用低代码开发平台,企业能够显著提高开发效率,降低对专业开发人员的依赖,并实现更快速的软件交付和使用…

[数据结构]—带头双向循环链表——超详解

💓作者简介🎉:在校大二迷茫大学生 💖个人主页🎉:小李很执着 💗系列专栏🎉:数据结构 每日分享✨:旅行是为了迷路,迷路是为了遇上美好❣️❣️❣️ …

【双指针】:Leetcode283.移动零

朋友们、伙计们,我们又见面了,本专栏是关于各种算法的解析,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结构专栏&…