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++环境 - 知乎
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Java Web的云端学习系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

【python自动化】Playwright基础教程(六)事件操作③单击双击计数过滤截图JS注入

【python自动化】Playwright基础教程(六)事件操作③单击&双击&计数&过滤&截图&JS注入 本文目录 文章目录 【python自动化】Playwright基础教程(六)事件操作③单击&双击&计数&过滤&截图&JS注入playwright系列回顾前文代码点击 - click…

使用Java生成图片——功能强大的图形工具

一、引言 Java是一种广泛使用的编程语言,它具有强大的功能和卓越的性能,可以用来创建各种类型的应用程序,包括生成图像。在Java中,可以使用Java的内置类库和第三方库来生成图片。下面是一篇关于Java生成图片的介绍文章。 二、具体…

【概率论】Python:实现求联合分布函数 | 求边缘分布函数 | Joint distribution | Marginal distribution

猛戳订阅! 👉 《一起玩蛇》🐍 💭 写在前面:本章我们将通过 Python 手动实现联合分布函数和边缘分布函数,部署的测试代码放到文后了,运行所需环境 python version > 3.6,numpy &g…

2023美亚杯个人赛复盘(一)火眼+取证大师

第一次参加美亚杯,手忙脚乱,不过也学到了很多东西,接下来会分篇介绍writeup,感兴趣的小伙伴可以持续关注。 案件基本情况: (一)案情 2023月8月的一天,香港警方在调查一起网络诈骗案…

Ubuntu20.04配置深度学习环境

默认你已经完成Ubuntu20.04的安装,如果没安装的话可以参考其他博客,我的显卡是GTX1660Ti 一、NVIDIA显卡驱动安装 大多数人在安装Ubutnu20.04系统的时候为了节约时间,通常不会勾选“图形或无线硬件,以及其他媒体格式安装第三方软…

Python小白之“没有名称为xlwings‘的模块”

题外话:学习和安装Python的第一个需求就是整理一个Excel,需要读取和写入Excel 背景:取到的模板代码,PyCharm本地运行报错:没有名称为xlwings的模块 解决办法:这类报模板找不到的错,即是模块缺…

爆款元服务!教你如何设计高使用率卡片

元服务的概念相信大家已经在 HDC 2023 上有了很详细的了解,更轻便的开发方式,让开发者跃跃欲试。目前也已经有很多开发者开发出了一些爆款元服务,那么如何让你的元服务拥有更高的传播范围、更高的用户使用率和更多的用户触点呢?设…

ACM练习——第三天

今天继续练习C和ACM模式 在写题之前先了解一些新的知识 1.#include <algorithm> #include <algorithm> 是 C 标准库中的头文件之一&#xff0c;其中包含了一系列用于处理各种容器&#xff08;如数组、向量、列表等&#xff09;和其他数据结构的算法。这个头文件提供…

分享 8 个 4k 壁纸站点

今天分享 8 个 4k 壁纸站点&#xff0c;换换心情&#xff01; bz.zzzmh 网址&#xff1a;https://bz.zzzmh.cn/ 一个免费的极简壁纸网站。 可以在这里找到所有极简壁纸&#xff0c;不需要注册登录就可以下载&#xff0c;它不限制分类、尺寸&#xff0c;想要什么样的壁纸直接搜…

2023最新版本 从零基础入门C++与QT(学习笔记) -4- C/C++混合编程

&#x1f38f;在C兼容C只需要调用C头文件 &#x1f384;格式 &#x1f388; -1- extern(关键字) “C”{ }(花括号) &#x1f388; -2- 花括号里面填写要包含的头文件 &#x1f384;代码段格式 extern "C" {#include “stdio.h”#include “string.h” }&#x…

【Beyond Compare】大小写对比的设置

1.点击会话设置 2.把大小写打勾 3.对比效果

Linux常用命令用法及实现方式有哪些?

接上一篇&#xff0c;它来啦&#xff01; 5.文本文件编辑命令 (1)touch命令&#xff1a;touch命令用于创建空白文件或设置文件的时间&#xff0c;语法格式为“touch [参数] 文件名称”。 (2)mkdir命令&#xff1a;mkdir命令用于创建空白的目录&#xff0c;英文全称为“make dir…

微同城生活圈小程序源码系统 专业搭建本地生活服务的平台 带完整搭建教程

在互联网的影响下&#xff0c;越来越多的用户开始依赖手机进行日常生活。为了满足本地居民的需求&#xff0c;源码小编来给大家分享一款全新的微同城生活圈小程序源码系统。该系统旨在为本地居民提供一站式的生活服务解决方案&#xff0c;让您的生活更加便捷、高效。 以下是部…

StableDiffusion(四)——高清修复与放大算法

目录 一、高清修复与放大算法 1.高清修复 ①文生图 ②图生图 2.SD放大&#xff08;SD Upscale&#xff09; 3.附加功能放大 4.总结 一、高清修复与放大算法 1.高清修复 概念&#xff1a;分两步&#xff0c;第一步生成低分辨率的图画&#xff0c;第二步使用它指定的高清…

内网Jenkins 部署.net(dotnet)项目

一、前置条件 内网部署Jenkins&#xff0c;并安装好所需插件 此篇内容需承接内网搭建Jenkins自动化远程部署项目到Windows服务器_jenkins内网安装-CSDN博客 &#xff0c;才更好操作与理解 二、在Jenkins中创建项目 三、配置项目 General Source Code Management Build Envi…

源码级JVS低代码功能新增:动态配置、逻辑多级循环嵌套等等

低代码更新功能 新增: 1.下拉组件选项新增动态配置&#xff1b; 选项的内容可以根据特定的条件或数据源进行动态变化的功能&#xff0c;通过动态配置&#xff0c;用户可以灵活地设置下拉组件的选项内容&#xff0c;例如从数据库或其他数据源中获取选项数据&#xff0c;或者根…

AdaBoost:提升机器学习的力量

一、介绍 机器学习已成为现代技术的基石&#xff0c;为从推荐系统到自动驾驶汽车的一切提供动力。在众多机器学习算法中&#xff0c;AdaBoost&#xff08;Adaptive Boosting的缩写&#xff09;作为一种强大的集成方法脱颖而出&#xff0c;为该领域的成功做出了重大贡献。AdaBoo…

docker 安装xxl-job

1.拉取镜像 docker pull xuxueli/xxl-job-admin:2.4.0 2.docker镜像创建并运行 docker run -e PARAMS"--spring.datasource.urljdbc:mysql://xxxxx:3306/xxl_job?useUnicodetrue&characterEncodingUTF-8&autoReconnecttrue&serverTimezoneAsia/Shanghai&…

全彩LED显示屏的质量怎样判断

判断全彩LED显示屏的质量需要考虑多个方面&#xff0c;包括平整度、白平衡、可视角度、分辨率、亮度、可靠性和稳定性等。以下是一些建议&#xff0c;供你参考&#xff1a; 平整度&#xff1a;LED显示屏的表面平整度应在1mm以内&#xff0c;以保证显示图像不发生扭曲。局部凸起…