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

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编译

完成上述的步骤,我们就已经准备好了所有的准备,接下来就可以编译并生成可执行程序了。

具体操作如下:

  1. 鼠标要点击在要编译的C语言代码中
  2. 然后执行【终端】->【运行生成任务】

4.5.2执行

选择Run Code,点击,如下图:

也可以按键盘的【ctrl+`】快捷键,打开VScode自带的终端,就可以运行代码了。

这时输入:.\可执行程序的名字,即可以执行代码,如下图:

4.6如果还想写另一个代码怎么办?

4.6.1情况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,下面有多个文件需要编译,如下图:

 

代码如下:

 

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

  1. 打开文件夹

 2.拷贝旧项目中的一份.vscode文件夹

拷贝放在文件夹下:

在VScode中的展示效果:

 3.改造tasks.json并构建验证结果

要能够编译一个文件中的多个文件,需要定制tasks.json文件的内容

编译多个源代码文件:
  1. 通过把"${file}"修改为”${workspaceFolder}\\*.c”,可以构建当前工作区中的所有C文件。
  1. 通过把"${file}"修改为”${workspaceFolder}\\*.cpp”,可以构建当前工作区中的所有C++文件。

修改编译输出的文件名:
  1. 通过把"${fileDirname}\\${fileBasenameNoExtension}.exe"修改为

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

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

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

  1. 运行这个.exe文件

  

该方法可以详细看4.5.2的方法二

  1. VScode的调试

前面讲解的都是如何去编码代码,当我们生成一个可支持程序的时候,如果遇到了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错误。这是因为当用户尝试访问一个非根路径时…...

项目计划表如何制作?使用甘特图制作项目计划表的步骤

在项目管理中,项目计划是项目的核心要素,它详细记录了项目任务详情、责任人、时间规划以及所需资源。 这份计划不仅为项目推进提供指引,更是控制范围蔓延、争取更多支持的有力工具。 然而,如同项目管理的其他环节一样&#xff0…...

Flutter-底部分享弹窗(showModalBottomSheet)

showModalBottomSheet 构造函数的样式 Future<T?> showModalBottomSheet<T>({required BuildContext context, // 上下文对象&#xff0c;通常是当前页面的上下文bool isScrollControlled false, // 控制底部弹窗的大小&#xff0c;如果为…...

初学stm32 --- 时钟配置

目录 stm32时钟系统 时钟源 &#xff08;1&#xff09; 2 个外部时钟源&#xff1a; &#xff08;2&#xff09;2 个内部时钟源&#xff1a; 锁相环 PLL PLLXTPRE&#xff1a; HSE 分频器作为 PLL 输入 (HSE divider for PLL entry) PLLSRC&#xff1a; PLL 输入时钟源 (PL…...

LeetCode:226.翻转二叉树

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;226.翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 …...

(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自签证书?

环境&#xff1a; WSL2 Unbuntu 22.04 问题描述&#xff1a; Unbuntu下怎么生成SSL自签证书&#xff1f; 解决方案&#xff1a; 生成自签名SSL证书可以使用OpenSSL工具&#xff0c;这是一个广泛使用的命令行工具&#xff0c;用于创建和管理SSL/TLS证书。以下是生成自签名…...

OpenGL ES 03 加载3张图片并做混合处理

OpenGL ES 02 加载3张图片并做混合处理 什么是纹理单元纹理单元的作用使用纹理单元的步骤详细解释加载图片并绑定到到GPU纹理单元采样器的设置1.设置采样器变量的纹理单元编号&#xff0c;目的是为了告诉纹理采样器&#xff0c;从哪个纹理单元采集数据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 中&#xff0c;默认情况下仍然是使用 CPU 进行计算&#xff0c;除非明确指定使用 GPU。torch.set_default_device 是 PyTorch 2.0 引入的新功能&#xff0c;用于设置默认设备&#xff0c;使得所有后续张量和模块在没有明…...

如何在 Ubuntu 22.04 服务器上安装 Jenkins

简介 Jenkins 是一个非常流行的免费自动化工具&#xff0c;每个人都应该了解它。DevOps 工程师使用它来自动化代码构建、测试和部署。本文将重点介绍如何在新的 Ubuntu LTS 版本&#xff0c;即 Ubuntu 22.04 中安装 Jenkins。 但在此之前&#xff0c;让我们快速讨论一下 Jenk…...

【一篇搞定配置】如何在Ubuntu上配置单机/伪分布式Hadoop

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;各种软件安装与配置_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1.…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...