当前位置: 首页 > news >正文

临时编写和调试 C++ 代码?用 VSCode 就够了!一分钟搭好 C++ 调试环境

突然间要编写或者调试几个 C++ 的小程序,动用 Visual Studio 创建一个解决方案显得大了些。如果能够利用随时随地就方便打开的 Visual Studio Code 来开发,则清爽很多。

本文教你一分钟在 Visual Studio Code 中搭建好 C++ 开发环境。


本文大纲

本文总共分为三个步骤,每个步骤都非常简单。

本文内容

    • 本文大纲
    • 第一步:安装扩展
    • 第二步:启动 VSCode
    • 第三步:F5 运行
    • 其他注意事项

第一步:安装扩展

你需要在 Visual Studio Code 中安装 C/C++ 扩展。

安装 C++ 扩展

第二步:启动 VSCode

注意,安装完成后,要通过 Visual Studio 自带的 Developer Command Prompt for VS 2019 来启动 Visual Studio Code。这样才可以获得 Visual Studio 2019 自带的各种编译工具路径的环境变量。Visual Studio Code 就可以无缝使用 Visual Studio 2019 附带的那些工具。

启动 Developer Command Prompt for VS 2019

然后,在新启动的命令行工具中启动 Visual Studio Code。

输入 code 即可启动:

> code

如果已有线程的路径,可以带上路径的命令行参数:

> code C:\Users\lvyi\Desktop\Walterlv.CppDemo

启动 Visual Studio Code

第三步:F5 运行

随便在目录中新建一个文件,写上 C++ 代码。比如在 example.cpp 文件中写上如下代码:

#include<iostream>
using namespace std;

int main()
{
    cout<<"welcome to blog.walterlv.com";
    return 0;
}

按下 F5,选择对应的 C++ 编译平台(我这里选择 C++ (Windows)),然后选择 cl.exe build and debug active file

选择编译平台

cl.exe build and debug active file 的目的是调试当前激活的文件,这样的调试方式在 python/java 等语言中大家屡见不鲜,好处是对于小型代码调试起来非常简单直接。

选择调试当前文件

接下来 Visual Studio Code 就会生成一些调试所需的配置文件。

再次按下 F5,Visual Studio Code 会提示没有编译任务,点击 Configure Task,随后选择 C/C++: cl.exe build active file

Configure Task

C/C++: cl.exe build active file

接下来 Visual Studio Code 就会生成一些编译所需的配置文件。

再次按下 F5 就可以直接编译 example.cpp 文件然后运行调试了。

调试当前文件

输出在 Debug Console 里面:

Debug Console

其他注意事项

如果你给 Visual Studio 设置了非默认的终端,那么需要注意:

  • 应该使用 PowerShell 系列的终端(例如 pwsh)不能使用 bash 系列的终端。因为 Windows 下工具使用的路径格式是反斜杠 \,而 bash 系列终端使用的路径是斜杠 /。如果使用 bash 终端,编译工具会因为路径问题导致编译失败。

另外,不要怪我说我是这么编写教程的:

首先,我们已知 1+1=2

1+1=2

于是可以推导出……

推导出


我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

知识共享许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

相关文章:

  • WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True)
  • 在 WPF 中获取一个依赖对象的所有依赖项属性
  • 如何在 WPF 中获取所有已经显式赋过值的依赖项属性
  • .NET 设计一套高性能的弱事件机制
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • WPF 程序如何跨窗口/跨进程设置控件焦点
  • 使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点
  • WPF 程序如何移动焦点到其他控件
  • EFI 分区/恢复分区不可删除?你需要使用命令行了(配合鼠标操作)
  • EFI 分区/恢复分区不可删除?你需要使用命令行了(全命令行操作)
  • 使用傲梅分区助手无损合并分区,无损调整分区大小
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • Windows 系统上用 .NET/C# 查找所有窗口,并获得窗口的标题、位置、尺寸、最小化、可见性等各种状态
  • 直击本质:WPF 框架是如何实现模态窗口的
  • 【译】JS基础算法脚本:字符串结尾
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • SpringBoot 实战 (三) | 配置文件详解
  • 阿里云Kubernetes容器服务上体验Knative
  • 从PHP迁移至Golang - 基础篇
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 前端之React实战:创建跨平台的项目架构
  • 物联网链路协议
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 从如何停掉 Promise 链说起
  • ​业务双活的数据切换思路设计(下)
  • !!java web学习笔记(一到五)
  • ()、[]、{}、(())、[[]]命令替换
  • (6)添加vue-cookie
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • **CI中自动类加载的用法总结
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .NET Project Open Day(2011.11.13)
  • .NET文档生成工具ADB使用图文教程
  • .php文件都打不开,打不开php文件怎么办
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [20150629]简单的加密连接.txt
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [Android]一个简单使用Handler做Timer的例子
  • [bug总结]: Feign调用GET请求找不到请求体实体类
  • [C++参考]拷贝构造函数的参数必须是引用类型
  • [Docker]十.Docker Swarm讲解
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分