VScode使用教程(菜鸟版)
目录
1.VScode是什么?
2.VScode的下载和安装?
2.1下载和安装
下载路径:
安装流程:
一、点击【Download for Windows】
二、等一小会儿的下载,找到并双击你下载好的.exe文件,开始进入安装进程
三、点击【我接受协议(A)】,然后点【下一步(N)】
四、点【浏览】,选择一个你要安装的位置(听我的,小可爱,别放在C盘!!!为什么这就不用我说了吧),然后点【下一步】
五、点【下一步】
六、【下一步】
七、【安装】
八、【完成】
2.2环境介绍
界面布局介绍(简介)
中文插件的安装
3.1VScode配置C/C++开发环境
3.1.1下载和配置MinGW-w64编译器套件
下载路径:
安装流程:
3.1.2安装C/C++开发插件
3.2重启VScode
4.在VScode上编写C语言代码并编译成功
4.1打开文件夹
4.2新建C语言文件,编写C语言代码
4.3设置C/C++编译的选项:c_cpp_properties.json
4.4创建执行任务:tasks.json
4.5编译+执行
4.5.1编译
4.5.2执行
4.6如果还想写另一个代码怎么办?
4.6.1情况1:在同一个文件夹内写代码
4.6.2情况2:新建一个文件夹编写代码
4.7一个工程中有多个.c文件需要编译怎么办?
编译多个源代码文件:
修改编译输出的文件名:
5.1创建launch.json文件
5.2开始调试
相关文章链接
1.VScode是什么?
Visual Stdio Code简称VS Code,是一款跨平台的、免费且开源的现代轻量级代码编辑器,支持几乎 主流开发语言的语法高亮、智能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段提示、代码对比等特性,也拥有对git的开箱即用的支持。同时,它还支持插件扩展,通过丰富的插件,用户能获得更多高效的功能。
有【稳定版】和【体验版】两个版本

2.VScode的下载和安装?
2.1下载和安装
下载路径:
下载地址:Visual Studio Code - Code Editing. Redefined
安装流程:
一、点击【Download for Windows】

二、等一小会儿的下载,找到并双击你下载好的.exe文件,开始进入安装进程

三、点击【我接受协议(A)】,然后点【下一步(N)】

四、点【浏览】,选择一个你要安装的位置(听我的,小可爱,别放在C盘!!!为什么这就不用我说了吧),然后点【下一步】

五、点【下一步】

六、【下一步】

七、【安装】

八、【完成】

2.2环境介绍
界面布局介绍(简介)

中文插件的安装
毕竟VScode默认是英文的,我们使用不习惯的话,可以安装中文插件,将VScode的界面汉化。

在左边侧边栏中点击插件,搜索:Chinese,显示的第一个插件就是汉化包,直接安装即可。
安装完汉化后,立马就会在右下角提示如下窗口,点击restart,会自动重启VScode,即可汉化使用。

汉化之后的界面:

3.1VScode配置C/C++开发环境
VScode安装好之后,我们还要知道,VScode毕竟是一个高级的编辑器,只能用来写C/C++代码,不能直接编译代码。所以,如果我们要能使用VScode搭建C/C++的编译和调试环境,还必须有编译器。为了方便,我们就使用MinGW-w64,MinGW-w64移植到windows平台的一个gcc编译器,使用起来也是非常方便的。下面我们就来演示怎么下载和配置MinGW-w64。
3.1.1下载和配置MinGW-w64编译器套件
下载路径:
tdm-gcc.tdragon.net/
安装流程:
一、64位的安装上面那个,如何你不确定你的电脑的配置,那就装下面那个(不会有小伙伴不知道如何查自己电脑的配置吧

二、点“Create”

其实,这个时候它才是去下载所需要的东西

三、选择 MinGW-w64/TDM64(32-bit and 64-bit),点"Next"

四、自己选这个安装的位置,选好后点“Next”(我是装在F盘滴)

五、如果你想要加装32位的,那就把“gdb32(Stable Release:10.2-tdm-1)”勾上。(注:“Add to TATH”一定要勾上,因为它会自动为我们把环境变量里加上tdm-gcc的目录)

六、安装成功

3.1.2安装C/C++开发插件
要在VScode上编译代码,还得配置C/C++插件,在VScode的插件中搜索:C/C++,点击安装

注:C/C++插件能帮助各位小伙伴来做C和C++的语法高亮,它可以识别C语言的语法成分
搜索:code run

注:Code Runner可以帮我们来运行各位小伙伴所写的代码,让代码跑起来吧。
3.2重启VScode
这一步很重要,让前面的设置生效,要不然后面会出现问题。
4.在VScode上编写C语言代码并编译成功
4.1打开文件夹
在VScode上写代码都是首先要打开文件夹的,这样也方便管理代码和编译器产生的可执行程序和VScode生成的配置文件等。
在写代码前,我们要先想清楚代码放在什么地方管理,比如,在E盘下,我创建了一个VScode的文件夹,我希望以后我写的代码都管理在VScode目录下,然后每天写的代码我再使用一个文件夹管理,比如test_23_6_20,如下图:

在我们写代码前先创建好文件夹,每次都要打开你要存储代码的文件夹

如果你是第一次打开的话,继续下一步,勾选并信任:

这样我们就打开了test_23_6_20文件夹,在VScode中都以大写字母的方式显示:

4.2新建C语言文件,编写C语言代码
创建C语言文件:

4.3设置C/C++编译的选项:c_cpp_properties.json
鼠标点在.c的源文件内部,按ctrl+shift+p快捷键,在弹出的界面中选择:【C/C++:编辑配置(UI)】,然后进入设置页面:

配置【编译器路径】为你安装的MinDW-w64目录下的gcc的路径:


4.4创建执行任务:tasks.json
要编译代码,我们接下来,在终端中:配置任务,如下图:

选择:C/C++:gcc.exe生成活动文件

这时就会默认生成一个task.json文件

这里我们简单的来看一下文件的内容:

注:“保存”的快捷键是ctrl+s
4.5编译+执行
4.5.1编译
完成上述的步骤,我们就已经准备好了所有的准备,接下来就可以编译并生成可执行程序了。
具体操作如下:
- 鼠标要点击在要编译的C语言代码中
- 然后执行【终端】->【运行生成任务】

4.5.2执行
选择Run Code,点击,如下图:

也可以按键盘的【ctrl+`】快捷键,打开VScode自带的终端,就可以运行代码了。
这时输入:.\可执行程序的名字,即可以执行代码,如下图:

4.6如果还想写另一个代码怎么办?
4.6.1情况1:在同一个文件夹内写代码
- 新建文件
如果你的代码还是单独的一个.c文件,在当前打开文件夹中就可以编写,那就直接在当前打开的文件夹中新建.c源文件,编写代码,对当前的代码,直接执行【终端】->【运行生成任务】

4.6.2情况2:新建一个文件夹编写代码
如果你要写的代码需要单独文件夹管理,那就再次打开新的文件夹来编写代码,编译和执行了。
新建一个文件夹,然后将之前那个文件夹中的.vscode文件夹复制到你新建的文件夹中即可。
注:.vscode文件夹可以重复使用。
比如:新的代码需要放在test_new的文件夹中管理
1.新建文件夹test_new

2.将test_23_6_20文件夹中的.vscode文件夹拷贝到test_new文件夹中去

拷贝进去后资源管理器中的展示信息:

4.7一个工程中有多个.c文件需要编译怎么办?
假设我们有一个工程multiple_files,下面有多个文件需要编译,如下图:

代码如下:

要对这样的工程编译,应该如何做呢?

2.拷贝旧项目中的一份.vscode文件夹
拷贝放在文件夹下:

在VScode中的展示效果:

3.改造tasks.json并构建验证结果
要能够编译一个文件中的多个文件,需要定制tasks.json文件的内容
编译多个源代码文件:
- 通过把"${file}"修改为”${workspaceFolder}\\*.c”,可以构建当前工作区中的所有C文件。
- 通过把"${file}"修改为”${workspaceFolder}\\*.cpp”,可以构建当前工作区中的所有C++文件。

修改编译输出的文件名:
- 通过把"${fileDirname}\\${fileBasenameNoExtension}.exe",修改为
”${workspaceFolder}\\${workspaceRootFolderName}.exe”,可以把编译输出的文件名为:打开的工作区文件夹名字.exe。如下图:

- 在tasks.json文件上运行生成任务

这时会生成一个对应的.exe文件

- 运行这个.exe文件
该方法可以详细看4.5.2的方法二
前面讲解的都是如何去编码代码,当我们生成一个可支持程序的时候,如果遇到了bug,我们就要想办法调试代码,那VScode如何调试代码呢?
其实在VScode上调试关键也是一个配置文件的叫:launch.json,那我们看看如何调试:
5.1创建launch.json文件
首先点击调试,创建launch.json文件

然后选择【C++(GDB/LLDB)】:

产生了launch.json文件并默认打开了

点击launch.json文件的右下方的【添加配置】,选择【C/C++:(gdb)启动】

这是生成了默认的调试配置信息,需要我们自定义一些信息
默认信息如下:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "输入程序名称,例如 ${workspaceFolder}/a.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/path/to/gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
需要修改的地方:


5.2开始调试
当launch.json文件生成后,我们只要打断点开始调试就行。

相关文章链接
本文链接:VScode运行出黑窗口_vscode打开黑框_中二病的易哥哥的博客-CSDN博客
本文链接:安装C/C++插件一直显示正在安装如何处理?_中二病的易哥哥的博客-CSDN博客
本文链接:VScode设置个性化背景图片_vscode怎样设置背景图片_中二病的易哥哥的博客-CSDN博客
本文链接:Visual Studio Code的安装教程(后期的如何安装插件、配置C语言的环境等看我之后的文章)_code安装_中二病的易哥哥的博客-CSDN博客
本文链接:在Windows操作系统64/32位上的Visual Studio Code软件安装后的配置和如何使你的C语言代码运行起来(这里不会讲如何安装软件,因为这很简单)_中二病的易哥哥的博客-CSDN博客
相关文章:
VScode使用教程(菜鸟版)
目录 1.VScode是什么? 2.VScode的下载和安装? 2.1下载和安装 下载路径: 安装流程: 一、点击【Download for Windows】 二、等一小会儿的下载,找到并双击你下载好的.exe文件,开始进入安装进程 三、点…...
【漏洞复现】Grafana 安全漏洞(CVE-2024-9264)
🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 一、漏洞概述 1.1漏洞简介 漏洞名称:Grafana 安全漏洞 (CVE-2024-9264)漏洞编号:CVE-2024-9264 | CNNVD-202410-1891漏洞类型:命令注入、本地文件包含漏洞威胁等级:…...
Android AOSP 源码中批量替换“phone“为“tablet“的命令详解
我来帮你写一篇关于这条命令的分析博客。 Android 项目中批量替换"phone"为"tablet"的命令详解 前言 在 Android 开发中,有时我们需要批量修改资源文件中的某些文本内容。今天我们来分析一条结合了 grep 和 sed 的强大命令,该命令用于将项目中的 “ph…...
基于JavaWeb(SSM+MySQL)问卷调查管理系统设计与实现毕业论文
标题:基于 JavaWeb(SSMMySQL)问卷调查管理系统设计与实现 内容:1.摘要 摘要:本文介绍了一个基于 JavaWeb(SSMMySQL)的问卷调查管理系统的设计与实现。该系统旨在为用户提供一个高效、便捷的问卷调查工具,帮…...
域内用户枚举与密码喷洒与密码爆破
域控:192.168.72.163 攻击者:192.168.72.162 域:hacker.com 用户枚举 as-rep 回复状态判断域用户 用户存在且启用:KDC_ERR_PREAUTH_REQUIRED (需要额外的预认证) 用户存在但禁用:KDC_ERR_CLIENT_REVOKED NT Stat…...
DIY 集合求并集(union)运算的代码 ← Python
【算法分析】 已知 Python 提供了求并集运算的函数 union。代码示例如下; >>> s1{1,2,3} >>> s2{2,3,7,1,9} >>> s1.union(s2) {1, 2, 3, 7, 9} >>> 不过,知其然也要知其所以然。 本例自己 DIY 集合求并集(union…...
Redis bitmaps 使用
应用场景: 记录id为 1 的用户,2024年12月签到情况,并统计; 记录 1号签到 zxys-redis:0>setbit 1:202412 1 1 记录 2号签到 zxys-redis:0>setbit 1:202412 2 1 记录 3号未签到 zxys-redis:0>setbit 1:202412 3 0 …...
vue深层数据响应的问题
vue版本为v2.16 数据是数组数据,且初始数据为空; 当接口返回的数据直接赋值到字段之后导致深层的子项数据无法被监听到; 数据结构如下: //数据结构//初始化数据 data:[] 接口返回数据 resData:[{id:"",name:"&quo…...
解决Nginx + Vue.js (ruoyi-vue) 单页应用(SPA) 404问题的指南
问题描述 在使用Vue.js构建的单页应用(SPA)中,特别是像ruoyi-vue这样的框架,如果启用了HTML5历史记录模式进行路由管理,那么用户直接访问子路径或刷新页面时可能会遇到404错误。这是因为当用户尝试访问一个非根路径时…...
项目计划表如何制作?使用甘特图制作项目计划表的步骤
在项目管理中,项目计划是项目的核心要素,它详细记录了项目任务详情、责任人、时间规划以及所需资源。 这份计划不仅为项目推进提供指引,更是控制范围蔓延、争取更多支持的有力工具。 然而,如同项目管理的其他环节一样࿰…...
Flutter-底部分享弹窗(showModalBottomSheet)
showModalBottomSheet 构造函数的样式 Future<T?> showModalBottomSheet<T>({required BuildContext context, // 上下文对象,通常是当前页面的上下文bool isScrollControlled false, // 控制底部弹窗的大小,如果为…...
初学stm32 --- 时钟配置
目录 stm32时钟系统 时钟源 (1) 2 个外部时钟源: (2)2 个内部时钟源: 锁相环 PLL PLLXTPRE: HSE 分频器作为 PLL 输入 (HSE divider for PLL entry) PLLSRC: PLL 输入时钟源 (PL…...
LeetCode:226.翻转二叉树
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:226.翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 …...
(css)鼠标移入或点击改变背景图片
(css)鼠标移入或点击改变背景图片 html <div class"mapTip"><divv-for"(item, index) of legendList":key"index"class"mapTipOne":class"{ active: change index }"click"legendHandle(item, index)"…...
Unbuntu下怎么生成SSL自签证书?
环境: WSL2 Unbuntu 22.04 问题描述: Unbuntu下怎么生成SSL自签证书? 解决方案: 生成自签名SSL证书可以使用OpenSSL工具,这是一个广泛使用的命令行工具,用于创建和管理SSL/TLS证书。以下是生成自签名…...
OpenGL ES 03 加载3张图片并做混合处理
OpenGL ES 02 加载3张图片并做混合处理 什么是纹理单元纹理单元的作用使用纹理单元的步骤详细解释加载图片并绑定到到GPU纹理单元采样器的设置1.设置采样器变量的纹理单元编号,目的是为了告诉纹理采样器,从哪个纹理单元采集数据2.如果你没有显式地设置采…...
深度学习-74-大语言模型LLM之基于API与llama.cpp启动的模型进行交互
文章目录 1 大模型量化方法1.1 GPTQ(后训练量化)1.2 GGUF(支持CPU)1.3 AWQ(后训练量化)2 llama.cpp2.1 功能2.1.1 Chat(聊天)2.1.2 Completion(补全)2.2 运行开源LLM2.2.1 下载安装llama.cpp2.2.2 下载gguf格式的模型2.2.3 运行大模型3 API访问3.1 调用补全3.2 调用聊天3.3 提取…...
PyTorch 2.0 中设置默认使用 GPU 的方法
PyTorch 2.0 中设置默认使用 GPU 的方法 在 PyTorch 2.0 中,默认情况下仍然是使用 CPU 进行计算,除非明确指定使用 GPU。torch.set_default_device 是 PyTorch 2.0 引入的新功能,用于设置默认设备,使得所有后续张量和模块在没有明…...
如何在 Ubuntu 22.04 服务器上安装 Jenkins
简介 Jenkins 是一个非常流行的免费自动化工具,每个人都应该了解它。DevOps 工程师使用它来自动化代码构建、测试和部署。本文将重点介绍如何在新的 Ubuntu LTS 版本,即 Ubuntu 22.04 中安装 Jenkins。 但在此之前,让我们快速讨论一下 Jenk…...
【一篇搞定配置】如何在Ubuntu上配置单机/伪分布式Hadoop
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1.…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
