开始放飞之先搞个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大将军告诉了我说他是一个包管理器,好吧,看在你教程做的不错的份上就不和你计较了,略略略,快点给老子下载。
bash 复制代码
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目录下却看到了这个

bash 复制代码
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 切换苹果系统的说法, 牛皮,穷的没用过苹果,这两个系统之间对于键盘来说有什么区别嘞,不懂不明白

遗留问题

  1. VSCode内部控制台输出中文乱码问题,Deepseek让我去改settings.json,改完了还是不生效啊
  2. launch.json与tasks.json的深入研究
  3. 其他插件的研究,我要搞好多语言的编译器,啊哈哈哈虽然我不会,还有VSCode不是有个leetcode插件,下回来搞,好想打游戏
  4. 对于MinGW64编译链的研究,本质上来说,C++是高级语言,经过编译器后能变成所在系统可以读懂的二进制文件,那么在这个过程中,编译链是如何与系统相互适配的,是否Windows系统有一份规范,说你必须翻译成这样我才能看懂,OK,那么编译链的工作就是一个Windows国家的翻译。
  5. VSCode的AI辅助编程功能,够义气吧VSCode,记得给我打钱

参考文献

https://blog.csdn.net/ScienceRui/article/details/117392080

Deepseek大将军:https://chat.deepseek.com/

相关推荐
superior tigre4 分钟前
C++学习:六个月从基础到就业——内存管理:自定义内存管理(上篇)
c++·学习
andlbds32 分钟前
Ubuntu20.04安装Pangolin遇到的几种报错的解决方案
开发语言·c++
永不停转1 小时前
QT 实现 C++ 数据类与 json 的转换
c++·qt
纪元A梦1 小时前
华为OD机试真题——数据分类(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
java·javascript·c++·python·华为od·go·华为od机试题
炯哈哈2 小时前
【上位机——MFC】菜单类与工具栏
开发语言·c++·mfc·上位机
YuforiaCode2 小时前
第十四届蓝桥杯 2023 C/C++组 飞机降落
c语言·c++·蓝桥杯
天堂的恶魔9462 小时前
C++项目 —— 基于多设计模式下的同步&异步日志系统(5)(建造者模式)
c++·设计模式·建造者模式
Run1.3 小时前
探索C++中的数据结构:栈(Stack)的奥秘
java·数据结构·c++
YuforiaCode3 小时前
第十四届蓝桥杯 2023 C/C++组 平方差
c语言·c++·蓝桥杯
Leon_az3 小时前
C++ 构造函数调用顺序以及什么是虚析构函数?为什么需要它?
c++