C语言--VSCode开发环境配置

文章目录

  • [一、 汉化 VSCode](#一、 汉化 VSCode)
  • [二、安装 C/C++ 扩展包](#二、安装 C/C++ 扩展包)
  • 三、创建工程
    • [   1、创建代码文件夹](#   1、创建代码文件夹)
    • [   2、单个.c文件](#   2、单个.c文件)
      • [     1)、新建文件夹](#     1)、新建文件夹)
      • [     2)、命名test文件夹](#     2)、命名test文件夹)
      • [     3)、新建文件](#     3)、新建文件)
      • [     4)、命名文件为test.c](#     4)、命名文件为test.c)
      • [     5)、测试代码](#     5)、测试代码)
      • [     6)、编译测试代码](#     6)、编译测试代码)
      • [     7)、切换C扩展](#     7)、切换C扩展)
      • [     8)、运行结果如图所示。](#     8)、运行结果如图所示。)
    • [   3、多个 .c 文件](#   3、多个 .c 文件)
      • [     1)、tasks.json文件](#     1)、tasks.json文件)
      • [     2)、对tasks.json文件进行修改](#     2)、对tasks.json文件进行修改)
      • [     3)、创建launch.json文件](#     3)、创建launch.json文件)
      • [     4)、修改launch.json文件](#     4)、修改launch.json文件)
      • [     5)、创建测试文件](#     5)、创建测试文件)
      • [     6)、编译测试](#     6)、编译测试)
  • 四、VSCode断点调试
    • [   1、进行调试模式](#   1、进行调试模式)
    • [   2、断点](#   2、断点)
    • [   3、调试工具](#   3、调试工具)
    • [   4、监视工具](#   4、监视工具)
    • [   5、断点类型](#   5、断点类型)
      • [     1)、记录点](#     1)、记录点)
      • [     2)、触发式断点](#     2)、触发式断点)
      • [     3)、条件断点](#     3)、条件断点)
      • [     4)、函数断点](#     4)、函数断点)

一、 汉化 VSCode

   首先启动 VS Code 软件,按下组合键Ctrl + Shift + x,或者直接点击左边的第五个小图标,进入Extensions。

   在上方输入框中键入Chinese,扩展插件的列表会刷新出汉化插件,点击对应的Install按钮进行安装。

   安装好后,软件界面的右下角会弹出通知,并附带Change Language and Restart的按钮,点击这个按钮,即可重启软件。。

   软件重启后,就是中文的界面了。

  

二、安装 C/C++ 扩展包

   在Extensions中搜索"C++",列表第一个扩展包就是我们要的,点击安装即可。

  

   上图中的C/C++ Extension Pack是 C/C++ 的扩展功能包,里面包含了一些项目管理和代码构建的工具,不是必要的扩展包,可以选择性安装。

三、创建工程

   1、创建代码文件夹

     VS Code 是一款基于文件夹进行代码编辑和管理的编辑器,通常我们会把新建一个文件夹来管理同一个项目的代码,并在 VS Code 中打开。

     1)、新建一个名为"Code"的文件夹,在里面新建一个用于专门放 C 语言代码的文件夹。

      

        注意:这个路径最好不要存在中文,否则会出现编译失败等问题。

     2)、打开 VSCode,点击打开文件夹的按钮。

      

     3)、在弹窗中找到刚刚新建的C文件夹,选中文件夹,再点选择文件夹。

      

     4)、选中文件夹后,在新弹出的窗口中,勾选上信任父文件夹"Documents"中所有文件的作者,再点是,我信任此作者。

      

     5)、文件添加好后,在左边的资源管理器中会出现CODE文件夹以及子文件夹C,把鼠标放在文件夹上面,会出现四个小图标。

     四个小图标从左往右的作用分别是新建文件、新建文件夹、刷新资源管理器以及在资源管理器中折叠文件夹。

      

   好了,做到这一步,接下来就可以进行代码的运行和调试了。

   2、单个.c文件

     1)、新建文件夹

        为了方便管理代码,选中C文件夹,再点击新建文件夹按钮。

      

     2)、命名test文件夹

        此时会在C文件夹的下级出现一个输入框,我们新建一个名为test的文件夹。

      

     3)、新建文件

        鼠标右键test文件夹,在弹出的菜单中选择新建文件。

      

     4)、命名文件为test.c

        在输入框中输入接下来要进行调试代码文件名,命名为test.c,注意,一定要是 .c 结尾。

      

     5)、测试代码

        接下来就可以输入一个调试程序了,代码如下:

c 复制代码
		#include <stdio.h>
		
		int main()
		{
		    for (int i = 0; i < 5; i++)
		        printf("Hello World~%d\n", i); 
		    return 0;
		}

     6)、编译测试代码

       写好测试代码后,点击右上角的调试按钮,这时会弹出调试程序的选项,选择第一个,前面安装的 gcc 编译工具。

      

     7)、切换C扩展

       这时文件就被编译并执行,如果在右下角弹出如下窗口,点击是即可。

      

     8)、运行结果如图所示。

      

   3、多个 .c 文件

     1)、tasks.json文件

       如果进行过一次编译运行,会发现在资源管理器的C文件夹下,多出一个.vscode的文件夹,这个文件夹里面有个tasks.json的文件。

      

       这个文件是用于定义任务配置,这些任务可以在 VS Code 中运行,例如编译代码、运行测试、启动调试器等。tasks.json文件是一个 JSON 格式的文件,其中包含了任务的配置信息,包括任务名称、命令、参数等。通过编辑tasks.json文件,我们可以自定义项目中的各种任务,并在 VSCode 中方便地执行这些任务。

       双击打开tasks.json文件修改一下编译运行功能。下图是对该 JSON 文件做了部分解释。

      

     2)、对tasks.json文件进行修改

       注释掉了原来的" ${file} ",并新增一行"*.c",表示并非指定某一个 .c 文件,而是当前文件夹下所有的 .c 文件。

       同时把"{fileDirname}\\{fileBasenameNoExtension}.exe"注释掉,改成"${fileDirname}\program.exe",那么多个 .c 文件编译之后的可执行文件就是program.exe。

      

       修改后,按组合键Ctrl + s保存即可。

     3)、创建launch.json文件

       点击左侧的运行与调试,再点击创建launch.json文件。

        

       搜索框会弹出选项,选择C++(GDB/LLDB)。

        

       VS Code 会新建一个 JSON 文件,点击右下角的添加配置,在弹出的下拉菜单中选择C/C++:(gdb)启动。

        

       此时,JSON 文件会多出一些配置信息,需要我们修改的内容如下图所示的红框标志内容。

        

     4)、修改launch.json文件

       修改为下图红框所示内容:

         "program"后的内容就是前面提到的tasks.json文件中的编译后产生的可执行文件。

         "miDebuggerPath"后面的则是前面安装的 MinGW-W64 的 gdb 工具的路径。修改后保持关闭。

        

     5)、创建测试文件

         test.c

c 复制代码
				#include <stdio.h>
				#include "max.h"
				
				int main()
				{
				    int a = 10;
				    int b = 20;
				    int c = findMaxNum(a, b);
				    printf("%d\n", c);
				    return 0;
				}

         max.h

c 复制代码
				#ifndef __MAX_H__
				#define __MAX_H__
				#include <stdio.h>
				
				int findMaxNum(int num1, int num2);
				
				#endif // __MAX_H__

         max.c

c 复制代码
				#include "max.h"
				
				int findMaxNum(int num1, int num2)
				{
				    return num1 > num2 ? num1 : num2;
				}

     6)、编译测试

       代码写好后,在下拉菜单中选择调试C/C++文件。

        

       运行结果:

        

四、VSCode断点调试

   1、进行调试模式

     1)、点击如下图标,或者按下Ctrl+Shift+D即可跳转到该窗口,点击运行和调试即可开始调试

      

     2)、点击运行在这里选择调试,可以使用快捷键F5直接开启调试。

      

   2、断点

     点击代码左侧的编辑器的侧栏来设置断点,或者使用快捷键F9。

      

   3、调试工具

     进入调试状态后,会在屏幕上侧出现了一行工具栏。

      

     依次为:

       (1)继续/暂停 F5: 控制调试程序的运行和停止,点击运行后会继续运行直到遇到下一个断点

       (2)逐过程 F10: 会一行一行运行,如果遇到了函数不会进入而是直接跳过

       (3)单步调试 F11: 也是一行行运行,但是遇到了函数会进入函数体

       (4)单步跳出 Shift+F11: 如果在函数体或子例程里面,会执行完后面的所有代码

       (5)重新启动Ctrl+shift+F5:重新启动调试程序

       (6)停止 Shift+F5: 停止调试

   4、监视工具

     在右侧看到此时的局部变量Locals和全局变量Globals

      

   5、断点类型

     1)、记录点

       记录点在调试的时候不会停住,而是会在调试控制台打印输出你的消息。

       右键添加记录断点

        

       填写输入的消息,{}中添加要打印的变量内容。

      

        

       可以在下方的调试控制台看到你的日志输出:

        

     2)、触发式断点

       此断点不会直接启用而是在你选定的断点触发后才会启用。

        

       只有第一个行8断点中断后,等待断点才会执行。

     3)、条件断点

       表达式型

         只有在你编写的条件表达式为真时断点才会触发。

        

         例如在"i==55"的时候断点触发

        

       命中次数

         只有在该段代码运行第多少次时才会中断。

        

         例如命中10次中断

        

     4)、函数断点

       专门用于给函数添加断点,无需在具体调用的地方添加

       每次在调用函数时会自动中断

        

       输入你想中断的函数名:

        

       命中断点:

        

相关推荐
Generalzy10 小时前
从本地 Demo 到生产级检索:Milvus 学习笔记(1)
golang·prompt·软件工程
unclejet12 小时前
颠覆传统开发!AI根治软件工程技术债务顽疾
大数据·人工智能·软件工程
明航咨询—张老师13 小时前
软件工程造价师认证实战应用与职业价值指南
大数据·证书·软件工程·it
一路往蓝-Anbo16 小时前
第九章:OTA 与 Flash 驱动 —— 如何用TDD验证固件升级逻辑的鲁棒性
stm32·单片机·嵌入式硬件·软件工程·tdd·ota·嵌入式测试驱动开发
数字时代全景窗16 小时前
商业航天不是航天的分支,而是产业革命本身
架构·软件工程
vensli16 小时前
消息跨端架构演进:基于 C++ 的多端一致性研发框架实践
java·人工智能·软件工程·安卓
@insist12317 小时前
系统架构设计师-软件架构核心概念与描述方法
系统架构·软件工程·软考·系统架构设计师·软件水平考试
workflower1 天前
具身智能研究对象:物理交互中的智能行为
设计模式·动态规划·软件工程·软件构建·scrum
sir56565562 天前
自媒体配图怎么做高级感带壳截图
软件工程
草莓熊Lotso2 天前
【LangChain】聊天模型实战:结构化输出完全指南(从原理到落地)
数据库·python·langchain·软件工程