开始放飞之先搞个VSCode
文章目录
- 开始放飞之先搞个VSCode
- 重要提醒
- 安装VSCode
- 下载MinGW-w64
- 回到VSCode中去
- VSCode原生调试
- 键盘问题
- 遗留问题
- 参考文献
开始放飞之先搞个VSCode
突然发现自己的新台式机上面连个像样的编程环境都没有,全是游戏了!!!!
这怎么符合我好好学习天天向上努力奋斗勾搭好看小妹妹的初衷呢,不行,我们今天先来搞个VScode,虽然工作中常用的是VS studio,但是对VSCode神往已久了,磨刀不费砍柴功,等等我怎么连个像样的输入法都没有,啊我天天打错别字啊

重要提醒
本篇内容是在DeepSeek大将军的技术指导下完成的
安装VSCode
就在官网安装就好饿了

哦吼,怎么一上来可以用AI辅助,还free,不信哦,啊换电脑了,我的github密码是什么啊,先不搞吧

这个好像有点意思啊 不用鼠标 这不错 等下试试 奥 是通过设置不同的快捷键来方便操作就不用点了 不错

先跟着提示下载一个C/C++ Extension Pack,等等这个排序好多语言,还有Dart,好像很火,好想当全栈工程师啊
应该是这个Extension Pack 他只是支持带有C++特性的编辑器,如果想要真正运行C++程序需要依赖于电脑上我们自己安装的编译器,那种能在cmd窗口中像python一样的编译器
对的,Deepseek大将军告诉我:
- 编辑器而非IDE: VSCode 本质上是高度可定制的代码编辑器(类似 Sublime Text),而非全功能的 IDE(如 Visual Studio、CLion)。它的优势在于轻量、快速、扩展性强,通过插件可以实现 IDE 的大部分功能。
- 多语言支持:
默认支持多种编程语言(通过语法高亮、代码补全等),但运行和调试需要额外配置工具链或插件。
如果需要运行和调试,需要额外配置C++编译器和调试器,Windows下安装MinGW-w64 或 MSVC(这两个东西在VSstudio中是无感的,我在QT里面见过,让我选对应的编译工具,是吗还是只有第一个在QT中见过),此外deepseek大将军还告诉我 macOS/linux系统中通常自带g++或clang,啊他们怎么这么好,对了鸿蒙系统里面有内置的编译器吗
OK,那我们先来研究并安装一下这个MinGW-w64把
下载MinGW-w64
MinGW-w64(Minimalist GNU for Windows 64-bit)是一个开源的 Windows 工具链,用于编译和运行 C/C++ 程序。它是经典 MinGW 的升级版,支持:
- 64位和32位程序编译(x86_64 和 i686)。
- 现代 C/C++ 标准(如 C++11/14/17/20)。
- Windows API 开发(如 Win32 程序)。
- 生成原生 Windows 可执行文件(.exe),不依赖第三方运行时库。
(说实话我只熟悉第一条,而且为什么叫i686呢,啊!!)

seek将军推荐我使用预编译二进制包,感觉就是人家编译好了,还做了个exe安装程序,给你拷贝一下,那我们就用MSYS2(主打听劝),这个还是得开梯子下载不然好慢,我用平板下的,稍等现在平板是不是可以和电脑直接互联啊

破华为,意思是我得全套才行,不能搞个通用的传输工具吗? 商机啊,牛马驴。
啊,我又尝试了用蓝牙连接,蓝牙传东西怎么这么慢啊,要死了,才81.98M,这么慢,哇!!!!!!!!!!!
哇终于好了,也安装好了
MSYS教程里给我说了个这什么,合着你只是个下载器,骗子骗子,奥奥,deepseek大将军告诉了我说他是一个包管理器,好吧,看在你教程做的不错的份上就不和你计较了,略略略,快点给老子下载。
pacman -S mingw-w64-ucrt-x86_64-gcc

OK,安装完了

等下我们的下载目标不是MinGW-w64,怎么现在是gcc了,难道是一个东西,
OK,别急,是这样的,MinGW-64是一个为windows系统提供GNU(这个词我总是想到GUN,哈哈)工具链的开源项目,其核心任务是将GCC和其他GNU工具,适配到Windows平台,使其能够生成原生的Windows程序。
总之就是MinGW-64包含编译器(GCC),二进制工具链(链接器和汇编器),gdb调试,和WindowsAPI头文件和库等,如下图就是下载下来的ucrt64工具链(等等,这就是说,C++代码在windows系统上的运行,需要调用windows系统的某些接口,从而完成一些内核指令,操作系统是用来隔离和保护的,而究竟是在哪一部做的这个事情嘞,这个先放放)

- GCC 是核心编译器,MinGW-w64 是让 GCC 在 Windows 上工作的“适配层”。
- 在 Windows 上开发 C/C++,你需要通过 MinGW-w64 使用 GCC。
等等,那么GCC和g++有什么区别,编译的时候不是只用g++吗,但我在bin目录下却看到了这个
g++.exe main.cpp -o main.exe

这是怎么一回事呢


我的天哪,Deepseek你好厉害,我是不是快失业了,呜呜呜,明白了意思是我们下载的MinGW-w64里面是既包含g++也包含gcc的编译器的,
OK,那接下来的一步就是把下载的mingw-w64-ucrt-x86_64-gcc(UCRT)中的bin目录加到windows的环境变量中去,添加完成后就可以在cmd中使用 g++ --version 来查看编译器版本,并能在cmd中通过bash命令来对cpp代码进行编译了,哦耶。

有关这两的区别,Deepseek大将军是这么说的,OK

那我们现在是不是就可以回到VScode中去了,啦啦啦啦啦啦
回到VSCode中去
VScode好笨呀,那现在我们如何把二者关联起来,能够在VScode中点击运行就运行呢,像破烂VStudio一样
奥奥 明白了 在VScode中运行代码,其实和我们在bash中编译代码成为exe并运行exe别无二致,那么我们就需要考虑定义相关的编译参数和调试(运行)参数。大胆猜一下,支持一键运行代码的Code Runner是不是就是帮我生成了一份默认的编译参数和调试参数呢?

推荐大家直接使用code Runner,还是在Extension中下载,哈哈哈,编译参数和调试参数以及中文等需要再去调整吧,嘿嘿嘿,in your face,中文乱码问题
等等 code Runner怎吗调试呢


哦吼,CodeRunner不支持代码调试,怪不得,我说怎么插件官方的Usages里面没有,要使用VSCode原生调试方法了,Deepseek大将军说只用配置一次,不错,不对那不还是一个工程需要配置一次,下午再搞吧,累了累了,希望今天能把这个弄完 =.=
VSCode原生调试
关于launch.json和tasks.json的生成,胡乱点点就有了


搞完这两个后,开启debug

出现提示说找不到pipe program, 说着就让我打开launch.json
突然发现我没有安装gdb,合着前面只是安装了个编译器

安装完gdb之后,再将自动生成的launch.json中的相关字段改为对应msys64编译工具链中的对应可执行文件。

这里的pipeProgram不太好理解,Deepseek大将军是这样说的

就是说这里的debuggerPath和pipeProgram需要来自同一套编译工具链。
这样改完之后,就能通过F5开关开启调试了,哦耶。
键盘问题
先解决一个键盘问题,我的阿斯盾键盘(打广给钱)87块钱但感觉超级牛皮,windows键一直用不了windows+R,强迫症要犯了
问了一下客服,还有 Fn + W 切换WIN系统,和 FN + A 切换苹果系统的说法, 牛皮,穷的没用过苹果,这两个系统之间对于键盘来说有什么区别嘞,不懂不明白
遗留问题
- VSCode内部控制台输出中文乱码问题,Deepseek让我去改settings.json,改完了还是不生效啊
- launch.json与tasks.json的深入研究
- 其他插件的研究,我要搞好多语言的编译器,啊哈哈哈虽然我不会,还有VSCode不是有个leetcode插件,下回来搞,好想打游戏
- 对于MinGW64编译链的研究,本质上来说,C++是高级语言,经过编译器后能变成所在系统可以读懂的二进制文件,那么在这个过程中,编译链是如何与系统相互适配的,是否Windows系统有一份规范,说你必须翻译成这样我才能看懂,OK,那么编译链的工作就是一个Windows国家的翻译。
- VSCode的AI辅助编程功能,够义气吧VSCode,记得给我打钱
参考文献
https://blog.csdn.net/ScienceRui/article/details/117392080
Deepseek大将军:https://chat.deepseek.com/
相关文章:
开始放飞之先搞个VSCode
文章目录 开始放飞之先搞个VSCode重要提醒安装VSCode下载MinGW-w64回到VSCode中去VSCode原生调试键盘问题遗留问题参考文献 开始放飞之先搞个VSCode 突然发现自己的新台式机上面连个像样的编程环境都没有,全是游戏了!!!ÿ…...
基于SA模拟退火算法的车间调度优化matlab仿真,输出甘特图和优化收敛曲线
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于SA模拟退火算法的车间调度优化matlab仿真,输出甘特图和优化收敛曲线。输出指标包括最小平均流动时间,最大完工时间,最小间隙时间。 2…...
【仿Mudou库one thread per loop式并发服务器实现】SERVER服务器模块实现
SERVER服务器模块实现 1. Buffer模块2. Socket模块3. Channel模块4. Poller模块5. EventLoop模块5.1 TimerQueue模块5.2 TimeWheel整合到EventLoop5.1 EventLoop与线程结合5.2 EventLoop线程池 6. Connection模块7. Acceptor模块8. TcpServer模块 1. Buffer模块 Buffer模块&…...
基于Redis实现高并发抢券系统的数据同步方案详解
在高并发抢券系统中,我们通常会将用户的抢券结果优先写入 Redis,以保证系统响应速度和并发处理能力。但数据的最终一致性要求我们必须将这些结果最终同步到 MySQL 的持久化库中。本文将详细介绍一种基于线程池 Redis Hash 扫描的异步数据同步方案&#…...
SPL 量化 序言
序言 量化交易是通过数学模型、统计学方法和计算机技术,将市场行为转化为可执行的交易策略的自动化投资方式。其核心是通过大数据分析、机器学习和金融工程等技术,从历史数据中挖掘市场规律,预测价格趋势并生成交易信号。 量化交易的实现通…...
【LLM Prompt】CoT vs.ToT
CoT(Chain of Thought) Definition: CoT refers to the method of prompting a language model to generate responses in a step-by-step manner, explicitly showing the reasoning process leading to the final answer.定义: CoT 是一种提示语言模型…...
uniapp h5接入地图选点组件
uniapp h5接入地图选点组件 1、申请腾讯地图key2、代码接入2.1入口页面 (pages/map/map)templatescript 2.2选点页面(pages/map/mapselect/mapselect)templatescript 该内容只针对uniapp 打包h5接入地图选点组件做详细说明&#x…...
【Rust 精进之路之第13篇-生命周期·进阶】省略规则与静态生命周期 (`‘static`)
系列: Rust 精进之路:构建可靠、高效软件的底层逻辑 作者: 码觉客 发布日期: 2025年4月20日 引言:让编译器“读懂”你的意图——省略的艺术 在上一篇【生命周期入门】中,我们理解了生命周期的必要性——它是 Rust 编译器用来确保引用有效性、防止悬垂引用的关键机制。我…...
OSI模型和传输过程
OSI模型概述 OSI(Open Systems Interconnection)模型是由国际标准化组织(ISO)提出的一个概念性框架,用于标准化网络通信功能。它将网络通信分为七层,每一层负责特定的功能,并通过接口与相邻层交…...
MySQL-CASE WHEN条件语句
介绍 MySQL 中的一种流程控制语法结构,用于在 SQL 查询中实现条件逻辑。它允许你根据一个或多个条件的真假来返回不同的值。可以根据某些条件对数据进行分类或者转换。 使用方式 简单 CASE 表达式 CASE input_expressionWHEN when_expression THEN result_expre…...
【随缘更新,免积分下载】Selenium chromedriver驱动下载(最新版135.0.7049.42)
目录 一、chromedriver概述 二、chromedriver使用方式 三、chromedriver新版本下载🔥🔥🔥 四、Selenium与Chrome参数设置🔥🔥 五、Selenium直接操控已打开的Chrome浏览器🔥🔥🔥…...
jenkins批量复制Job项目的shell脚本实现
背景 现在需要将“测试” 目录中的所有job全部复制到 一个新目录中 test2。可以结合jenkins提供的apilinux shell 进行实现。 测试目录的实际文件夹名称是 test。 脚本运行效果如下: [qdevsom5f-dev-hhyl shekk]$ ./copy_jenkins_job.sh 创建文件夹 test2 获取源…...
iOS Google登录
iOS Google登录 SDK下载地址在 Firebase 有下载,要下载整个SDK文件,然后拿其中的Google 登录SDK来使用 Firebase 官方文档 github 下载链接...
嵌入式工程师( C / C++ )笔试面试题汇总
注:本文为 “嵌入式工程师笔试面试题” 相关文章合辑。 未整理去重。 如有内容异常,请看原文。 嵌入式必会 C 语言笔试题汇总 Z 沉浮 嵌入式之旅 2021 年 01 月 19 日 00:00 用预处理指令 #define 声明一个常数,用以表明 1 年中有多少秒&a…...
重构便携钢琴专业边界丨特伦斯便携钢琴V30Pro定义新一代便携电钢琴
在便携电钢琴领域,特伦斯推出的V30Pro折叠钢琴以"技术革新场景适配"的双重升级引发关注。这款产品不仅延续了品牌标志性的折叠结构,更通过声学系统重构与智能交互优化,重新定义了便携乐器的专业边界。 ▶ 核心特点:技术…...
DiffuRec: A Diffusion Model for Sequential Recommendation
DiffuRec: A Diffusion Model for Sequential Recommendation Background 序列推荐(Sequential Recommendation, SR)领域,主流方法是将用户与物品表示为fixed embedding。然而,这种静态向量表达方式难以全面刻画用户多样化的兴趣…...
多模态大语言模型arxiv论文略读(三十三)
Jailbreaking Attack against Multimodal Large Language Model ➡️ 论文标题:Jailbreaking Attack against Multimodal Large Language Model ➡️ 论文作者:Zhenxing Niu, Haodong Ren, Xinbo Gao, Gang Hua, Rong Jin ➡️ 研究机构: Xidian Univer…...
IntelliJ IDEA download JDK
IntelliJ IDEA download JDK 自动下载各个版本JDK,步骤 File - Project Structure (快捷键 Ctrl Shift Alt S) 如果下载失败,换个下载站点吧。一般选择Oracle版本,因为java被Oracle收购了 好了。 花里胡哨&#…...
计算机网络——常见的网络攻击手段
什么是XSS攻击,如何避免? XSS 攻击,全称跨站脚本攻击(Cross-Site Scripting),这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,因此有人将跨站脚本攻击缩写为XSS。它指的是恶意攻击者往Web页面…...
Android动态化技术优化
Android动态化技术优化 一、WebView优化基础 1.1 WebView性能瓶颈 初始化耗时内存占用高页面加载慢白屏问题1.2 WebView基本配置 class OptimizedWebView : WebView {init {// 开启硬件加速setLayerType(LAYER_TYPE_HARDWARE, null...
面向对象设计中的类的分类:实体类、控制类和边界类
目录 前言1. 实体类(Entity Class)1.1 定义和作用1.2 实体类的特点1.3 实体类的示例 2. 控制类(Control Class)2.1 定义和作用2.2 控制类的特点2.3 控制类的示例 3. 边界类(Boundary Class)3.1 定义和作用3…...
鸿蒙ArkUI实战之TextArea组件、RichEditor组件、RichText组件、Search组件的使用
本文接上篇继续更新ArkUI中组件的使用,本文介绍的组件有TextArea组件、RichEditor组件、RichText组件、Search组件,这几个组件的使用对应特定场景,使用时更加需要注意根据需求去使用 TextArea组件 官方文档: TextArea-文本与输…...
初创企业机器学习训练:云服务器配置对效率、成本与可扩展性的影响
在当今的初创企业中,机器学习模型训练已成为驱动创新和智能产品的核心环节。然而,深度学习模型的训练通常需要大量的计算资源,如何高效利用云服务器的基础配置成为初创团队关注的重点。云服务器的基础配置通常包括 vCPU(虚拟CPU&a…...
【“星瑞” O6 评测】—NPU 部署 face parser 模型
前言 瑞莎星睿 O6 (Radxa Orion O6) 拥有高达 28.8TOPs NPU (Neural Processing Unit) 算力,支持 INT4 / INT8 / INT16 / FP16 / BF16 和 TF32 类型的加速。这里通过通过官方的工具链进行FaceParsingBiSeNet的部署 1. FaceParsingBiSeNet onnx 推理 首先从百度网盘…...
56、如何快速让⼀个盒⼦⽔平垂直居中
在网页开发中,有多种方式能让一个盒子实现水平垂直居中。下面为你介绍几种常见且快速的方法。 1. 使用 Flexbox 布局 Flexbox 是一种非常便捷的布局模型,能够轻松实现元素的水平和垂直居中。 html <!DOCTYPE html> <html lang"en"&…...
互联网大厂Java面试:Spring Cloud与微服务的奇妙之旅
互联网大厂Java面试:Spring Cloud与微服务的奇妙之旅 在一家知名的互联网公司,一位严肃且专业的面试官正准备对求职者进行技术考察。而这次的应聘者,是自称拥有丰富经验但实际上却是个搞笑的水货程序员——马飞机。接下来,我们将…...
BDO分厂积极开展“五个一”安全活动
BDO分厂为规范化学习“五个一”活动主题,按照“上下联动、分头准备 、差异管理、资源共享”的原则,全面激活班组安全活动管理新模式,正在积极开展班组安全活动,以单元班组形式对每个班组每周组织一次“五个一”安全活动。 丁二醇单…...
[Redis]1-高效的数据结构P2-Set
按照惯例,先丢一个官网文档链接。 上篇我们已经了解了高效的数据结构P1-String与Hash。 这篇,我们继续来了解Redis的 Set 与 Sorted set。 目录 有序集合 Sorted set底层实现 集合 Set总结资料引用 有序集合 Sorted set Redis 有序集合是一组唯一的字符…...
在ubuntu20.04上安装ros2
1,更新系统并安装依赖 sudo apt update sudo apt upgrade sudo apt install curl gnupg2 lsb-release2,增加ROS2仓库配置 echo "deb [archamd64] https://packages.ros.org/ros2/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros…...
用ffmpeg 实现拉取h265的flv视频转存成264的mp4 实现方案
参考文章 支持 flvh265 的ffmpeg编译安装_demuxer flvhevc异常-CSDN博客 windwos有别人编译好的 支持HEVC/H265 RTMP播放的FFMPEG/FFPLAY WINDOWS版本 但是linux没有所以得自己编译 1.需要对ffmpeg进行源码修改 这里使用 https://github.com/numberwolf/FFmpeg-QuQi-H265-…...
