(超详细)VScode中配置C语言环境的方法

vscode中怎么配置c语言环境?下面本篇文章给大家介绍一下vscode配置c语言环境的方法(超详细),希望对大家有所帮助!

(超详细)VScode中配置C语言环境的方法

【推荐学习:vscode教程、编程视频】

一、下载VScode(装好直接跳第五步)

官网下载:https://code.visualstudio.com/

二、安装VScode

1、 打开安装包点击同意此协议,下一步。

立即学习“C语言免费学习笔记(深入)”;

在这里插入图片描述

2、选择安装位置,下一步。

在这里插入图片描述

3、创建程序快捷方式,默认设置,下一步。

在这里插入图片描述

4、根据自己需要选择附加任务。

在这里插入图片描述

5、开始安装

在这里插入图片描述

6、完成安装

在这里插入图片描述

三、VScode设置语言为中文

1、按快捷键Ctrl+Shift+P,在出现的框里输入extensions,然后回车。(点左侧导航栏第5个图标进入下载也可以)

在这里插入图片描述

2、输入Chinese,安装中文简体(繁体)。

在这里插入图片描述

3、重启软件即变成中文

在这里插入图片描述

四、VScode切换主题(个人爱好)

按Ctrl+K,然后按Ctrl+T选择喜爱的主题切换。

在这里插入图片描述

五、下载C语言编译器(MinGW-W64 GCC)

链接: https://pan.baidu.com/s/1zBO37-yEkW54vBLOsp1kgA提取码:wo9n

六、配置编译器环境变量

1、解压压缩包,找到文件夹内的一个叫bin的文件夹,复制该文件夹地址(右键文件夹地址找到复制地址)。
在这里插入图片描述
右键此电脑,点击设置,进入设置界面,找到高级系统设置,点击进入。
在这里插入图片描述
2、进入环境变量
在这里插入图片描述

3、在环境变量中的系统变量中,找到Path变量,双击打开之后将刚刚复制的地址添加进去,然后点确定。

在这里插入图片描述

4、最后测试环境配置是否成功,Win键+R打开运行窗口,输入cmd,回车,在命令行窗口输入gcc -v -E -x c++ -如果运行结果如下,即配置成功。

在这里插入图片描述

七、配置VScode

1、点击左侧导航栏第5个图标,输入C,安装。

在这里插入图片描述

2、新建一个文件夹作为C语言项目文件,打开这个文件夹,Ctrl+N,新建一个hello.c文件(名字随便起,以.c结尾就行了)。

在这里插入图片描述

3、然后再建一个.vscode文件夹(注意前面有个点),在里面建三个文件,c_cpp_properties.jsonlaunch.jsontasks.json

在这里插入图片描述

4、将下列代码复制到c_cpp_properties.json文件里。

{    "configurations": [        {            "name": "Win32",            "includePath": [                "${workspaceRoot}",                "C:/Program Files/mingw64/include/**",                "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",                "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",                "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",                "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",                "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",                "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"            ],            "defines": [                "_DEBUG",                "UNICODE",                "__GNUC__=6",                "__cdecl=__attribute__((__cdecl__))"            ],            "intelliSenseMode": "msvc-x64",            "browse": {                "limitSymbolsToIncludedHeaders": true,                "databaseFilename": "",                "path": [                    "${workspaceRoot}",                    "C:/Program Files/mingw64/include/**",                    "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",                    "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",                    "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",                    "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",                    "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",                    "C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"                ]            }        }    ],    "version": 4}

5、复制完成后将所有的 “C:/Program Files/mingw64替换为MinGW-W64 GCC解压后的mingw64文件的地址。

在这里插入图片描述
6、将下列代码复制到launch.json文件里。

{    "version": "0.2.0",    "configurations": [        {/*这个大括号里是我们的‘调试(Debug)’配置,这里我解释下为什么写了两个,        因为有时VSCode会有闪现的问题,也就是运行程序后窗口控制台可能会一闪而过,        看不到结果,因此可以通过搭建configution的办法来解决,也就是搭建一个cmd的配置。*/            "name": "(Windows) Launch",// 配置名称            "type": "cppvsdbg",// 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg            "request": "launch",// 请求配置类型,可以为launch(启动)或attach(附加)            "program": "cmd",// 将要进行调试的程序的路径            "preLaunchTask": "echo", // 调试开始前执行的任务,我们在调试前要编译构建。与tasks.json的label相对应,名字要一样            "args": [ // 程序调试时传递给程序的命令行参数                "/C",                "${fileDirname}${fileBasenameNoExtension}.exe",                "&",                "echo."            ],            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点            "cwd": "${workspaceFolder}",// 调试程序时的工作目录,此处为源码文件所在目录            "environment": [],// 环境变量,这里设为空即可            "console": "externalTerminal",//使用单独的cmd窗口输出        },        {//这个大括号里是我们的‘调试(Debug)’配置            "name": "(gdb) Launch",// 配置名称            "type": "cppdbg",// 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg            "request": "launch",// 请求配置类型,可以为launch(启动)或attach(附加)            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径            "args": [], // 程序调试时传递给程序的命令行参数,            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点            "cwd": "${workspaceFolder}",// 调试程序时的工作目录,此处为源码文件所在目录            "environment": [],// 环境变量,这里设为空即可            "console": "externalTerminal",// 使用单独的cmd窗口输出            "MIMode": "gdb", //指定连接的调试器,gdb是minGW中的调试程序            "miDebuggerPath": "C:Program Filesmingw64bingdb.exe",//指定调试器所在路径,如果你的minGW装在别的地方,则要改成你自己的路径,注意间隔是            "preLaunchTask": "echo",//调试开始前执行的任务,这里和task.json的label相对应        }    ]}

7、将launch.json文件里miDebuggerPath属性里的内容也要改成自己的路径。
在这里插入图片描述

8、将下列代码复制到tasks.json文件里。

{    // See https://go.microsoft.com/fwlink/?LinkId=733558    // for the documentation about the tasks.json format    "version": "2.0.0",    "tasks": [        {//这个大括号里是‘构建’任务            "label": "echo",//这个大括号里是‘构建’任务            "type": "shell",//任务类型,process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍            "command": "gcc", //编译命令            "args": [ //传给gcc命令的一系列参数                "-g", //生成和调试有关的信息                "${file}", //指定要编译的是当前文件                "-o", //指定输出文件的路径和名称                "${fileBasenameNoExtension}.exe",//让可执行文件输出到源码文件所在的文件夹下的bin文件夹内,并且让它的名字和源码文件相同                "-fexec-charset=GBK"//解决中文乱码            ]        }    ],    "presentation": {//执行这个任务时的一些其他设定        "echo": true,//表示在执行任务时在终端要有输出        "reveal": "always",//执行任务时是否跳转到终端面板,可以为always,silent,never        "focus": false,//设为true后可以使执行task时焦点聚集在终端,但对编译来说,设为true没有意义,因为运行的时候才涉及到输入        "panel": "new", //每次执行这个task时都新建一个终端面板        "showReuseMessage": true,//控制是否显示“终端将被任务重用, 按任意键关闭”提示.        "clear": false    }}

重启电脑

八、编写C语言程序

1、在之前建的hello.c文件里面输入程序测试。

#includeint main(){    printf("hello world");    return 0;}

2、启动程序(可以直接按F5)

在这里插入图片描述

九、几个好用的VScode插件

所有插件都可点击左侧导航栏第5个图标(拓展)安装

名称 作用

Path Intellisence路径自动补齐Bracket Pair Colorizer 2用不同颜色高亮显示匹配的括号vscode-fileheader顶部注释模板,可自定义信息,自动更新最后修改时间markdownlint语法纠错Beautify格式化代码Code Spell Checker识别单词拼写错误

十、VSCode 设置鼠标滚动改变字体大小

首次打开的话需要Ctrl+Shift+P 打开搜索框,输入 settings.json,回车打开后加入 "editor.mouseWheelZoom": true即可。(打开一次后,Ctrl+P搜索即可)

在这里插入图片描述

十一、解决配置中的一些小问题

1.出现“launch: program … does not exist”或preLaunchTask已终止,退出代码为1**
(1)先检查一下配置文件的文件名应是tasks.json,不是task.json
(2)检查一下launch.json“miDebuggerPath”:里的路径是否正确,一定要按照前面的步骤,去文件夹里复制地址。
在这里插入图片描述
(3)确保tasks.jsonlaunch.json里的label内容相同,如都为“echo”, tasks.json中的 label 字段与launch.json中的 preLaunchTask 字段一致.
(4)最重要的是,文件名内不能含有中文名哦。
(5)最后检查一下,自己是不是运行的.c文件,别运行成了环境文件,自己的程序是不是写错了,头文件是不是有缺失。
(6)以上,如果还没有解决,将launch.json"program":"${workspaceFolder}/${fileBasenameNoExtension}.exe"改成"program:"${fileDirname}/${fileBasenameNoExtension}.exe"
2.在配置文件中,提示错误”Invalid escape character in string”
路径错误,将配置文件中报错的路径换个地址转置符,举个例子,原来是C:/Program Files/mingw64/那就换成C:Program Filesmingw64或者C:Program Filesmingw64
3.提示错误”Unable to start debugging
注意代码路径中不要有中文名

更多关于VSCode的相关知识,请访问:vscode基础教程!

以上就是(超详细)VScode中配置C语言环境的方法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/56091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 23:45:54
下一篇 2025年11月9日 23:55:31

相关推荐

  • PHP怎么调试代码_PHP代码调试环境配置教程

    答案:PHP调试核心是配置Xdebug并与IDE集成,辅以日志和变量打印。需正确安装Xdebug,修改php.ini设置xdebug.mode=debug等参数,重启服务后在VS Code或PhpStorm中监听端口,配合浏览器插件实现断点调试;常见问题包括配置路径错误、版本不兼容、端口冲突等,可通…

    2025年12月11日
    000
  • php如何读取文件内容_php读取文件全部内容的函数

    PHP读取文件最常用file_get_contents(),适合小文件;大文件应使用fopen()、fread()分块读取,避免内存溢出。 PHP读取文件内容,最直接也是最常用的函数是 file_get_contents() 。这个函数能够一次性将整个文件读取到字符串中。当然,如果文件较大,为了更精…

    2025年12月11日
    000
  • php如何反转一个数组?PHP数组反转操作详解

    使用array_reverse()函数可直接反转数组,其第二个参数$preserve_keys决定键名是否保留:设为true时保留原键名,false则重置数字索引;该函数仅反转顶层元素,多维数组需递归处理。 在PHP中反转一个数组,最直接也最推荐的方法就是使用内置的 array_reverse() …

    2025年12月11日
    000
  • PHP如何检查字符串是否以指定字符开头_PHP字符串开头匹配判断方法

    最推荐使用PHP 8的str_starts_with(),因其专为开头匹配设计且性能最优;若需兼容旧版本,可选strncmp()以避免substr()创建子字符串的开销;复杂模式则用preg_match()配合^锚点和i修饰符实现灵活匹配。 在PHP中检查字符串是否以特定字符或子字符串开头,其实有好…

    2025年12月11日
    000
  • php如何将多维数组扁平化?PHP多维数组降维方法

    多维数组扁平化是将嵌套数组转化为一维数组的过程,便于数据处理和API对接。常用方法有递归函数和array_walk_recursive:前者逻辑清晰但可能受递归深度限制,后者简洁高效且由C实现性能更优。实际应用包括缓存存储、搜索索引构建和表单数据整理。选择方法需权衡可读性、性能与灵活性,递归适合定制…

    2025年12月11日
    000
  • php如何实现排序_php多种排序算法实现

    最直接高效的数据排序方式是使用PHP内置函数,如sort()、asort()、ksort()和usort()系列,它们性能优越且易于维护;对于简单数组用sort()或rsort(),关联数组根据键或值排序可选用ksort()或asort(),复杂结构则通过usort()结合自定义比较函数实现灵活排序…

    2025年12月11日
    000
  • 深入解析PHP gethostname() 函数的错误返回机制

    PHP的 gethostname() 函数在底层系统调用失败时会返回 false。这通常发生在操作系统无法成功获取主机名,最常见的原因是系统分配的缓冲区不足以容纳过长的主机名(ENAMETOOLONG 错误),或极少数情况下出现内存地址问题。理解这些底层机制有助于编写更健壮的应用程序。 PHP ge…

    2025年12月11日
    000
  • PHP如何处理多线程?通过pthreads扩展实现并发

    PHP本身是单线程的,但可通过pthreads扩展在CLI下实现多线程,需ZTS支持,其核心为共享内存的并发模型,适用于CPU密集任务;相比多进程(隔离性好但开销大)和异步IO(适合IO密集场景),pthreads虽高效但存在数据同步、竞态、死锁等难题,且自PHP 7.3起不再维护,社区转向Swoo…

    2025年12月11日
    000
  • 轻量PHP开发工具 免费PHP开发环境推荐

    答案:对于PHP初学者,推荐使用XAMPP或Laragon,二者均提供一键安装、开箱即用的集成环境,支持Apache/Nginx、PHP、MySQL等核心组件,适合快速搭建本地开发环境;其中XAMPP跨平台且社区资源丰富,Laragon在Windows下启动更快、资源占用更低、配置更现代化;若追求轻…

    2025年12月11日
    000
  • PHP 教程:高效从嵌套数组中提取指定列值

    在处理PHP嵌套数组时,若需从一系列子数组中提取特定键(如’item’)所对应的所有值,并将其汇聚成一个新的扁平数组,传统的array_values()函数可能无法满足预期,因为它仅作用于顶级键。本教程将详细介绍如何利用array_column()函数高效实现这一目标,通过示…

    2025年12月11日
    000
  • 解决VS Code中PHP Slim项目Xdebug调试失效问题

    在使用VS Code和Xdebug调试PHP Slim框架项目时,开发者常遇到断点无法生效的问题,尤其是在使用Composer创建的Slim骨架项目和PHP内置Web服务器时。本文将详细指导如何通过优化launch.json配置,确保Xdebug能够正确捕获Slim项目的请求,从而实现高效的断点调试…

    2025年12月11日
    000
  • VS Code中PHP Slim项目Xdebug调试配置与断点无效问题解决方案

    本文详细介绍了在VS Code中调试PHP Slim框架项目的Xdebug配置方法,特别针对使用composer start启动的Slim Skeleton项目断点无效的问题。核心解决方案是优化launch.json文件中的cwd路径和内置Web服务器的端口配置,确保Xdebug正确与PHP进程通信…

    2025年12月11日
    000
  • 如何在PHP中将字符串转为嵌套数组?递归分割实现方法

    最有效方法是递归分割,通过自定义分隔符将路径型字符串逐层解析为嵌套数组,利用explode拆分键值并对键路径迭代构建多维结构,结合引用避免复制,适用于配置解析等场景且性能良好。 在PHP中,将一个看似扁平的字符串巧妙地转换为嵌套数组,尤其是当这个字符串本身就蕴含着某种层级结构信息时,最有效且灵活的方…

    2025年12月11日
    000
  • php中如何连接字符串 php字符串连接的几种方式对比

    PHP中字符串连接效率最高的是在循环中使用数组收集字符串片段,再通过implode()函数合并,这种方式能显著减少内存重复分配,提升性能。 PHP中连接字符串的核心方式是使用 . 运算符,这基本上是所有PHP开发者都会第一时间想到的方法。除此之外,你也可以利用 .= 操作符进行追加,而对于更复杂的格…

    2025年12月11日
    000
  • php中如何操作日期和时间_php日期时间处理大全

    掌握PHP日期时间处理需理解时间戳、字符串与DateTime对象的转换。核心函数date()用于格式化输出,strtotime()可解析多种日期字符串但存在歧义风险,而DateTime类提供更安全、直观的面向对象操作,尤其在时区处理、日期计算和比较中优势显著。推荐优先使用DateTime及其相关类如…

    2025年12月11日 好文分享
    000
  • 如何防止PHP代码被静态分析?通过混淆与加密结合的防护技术是什么?

    答案:结合代码混淆与加密可有效提升PHP代码防护,通过混淆增加静态分析难度,再以加密确保代码仅在运行时解密执行,形成多层防御。首先对变量、函数名重命名,移除注释与空白,加密敏感字符串,并采用控制流混淆和代码压缩,使代码难以阅读;其次将核心代码用AES等算法加密存储,配合Loader在运行时解密并执行…

    2025年12月11日
    000
  • php中如何连接mysql数据库 php连接mysql数据库的几种方法

    PHP连接MySQL主要有mysqli和PDO两种方法,推荐使用PDO因其支持多种数据库、预处理语句更安全、错误处理更规范,适合现代PHP开发。 PHP连接MySQL数据库主要有几种方法,最常用且推荐的是 mysqli 扩展(支持面向对象和面向过程两种风格)和 PDO (PHP Data Objec…

    2025年12月11日
    000
  • php中如何排序数组 php数组排序的几种方法示例

    PHP提供多种数组排序方法,需根据是否保留键值关联、排序依据及数据类型选择。sort()对数组值升序排序并重置键为数字索引,适用于简单数值或字符串排序,使用SORT_NUMERIC可确保数字正确排序。asort()按值升序但保留键,ksort()按键名升序,适用于关联数组;其反向排序分别为arsor…

    2025年12月11日
    000
  • PHP文件用什么软件打开?推荐使用VisualStudioCode进行高效编辑

    答案:VS Code是高效编辑PHP文件的首选工具,因其免费开源、性能出色、扩展丰富(如PHP Intelephense和PHP Debug),支持智能补全、调试、Git集成,并可通过配置进一步优化开发体验,显著提升PHP开发效率。 PHP文件本质上就是文本文件,所以理论上你可以用任何文本编辑器来打…

    2025年12月11日
    000
  • 如何在PHP中遍历数组?使用foreach循环逐一访问数组元素

    PHP中推荐使用foreach遍历数组,因其可读性强、适用性广且安全。它支持索引与关联数组,通过as $value或as $key => $value语法遍历,避免手动管理索引。遍历中修改元素需用引用&$value,并记得unset()解除引用以防意外。嵌套foreach可处理多维数组…

    2025年12月11日
    000

发表回复

登录后才能评论
关注微信