【保姆级教程+配置源码】在VScode配置C/C++环境

目录

一、下载VScode

1. 在官网直接下载安装即可

2. 安装中文插件

二、下载C语言编译器MinGW-W64

三、配置编译器环境变量

1. 解压下载的压缩包,复制该文件夹下bin目录所在地址

2. 在电脑搜索环境变量并打开

3. 点击环境变量→选择系统变量里的Path→点击编辑按钮

4. 点击新建

5. 将刚刚复制的环境变量粘贴进去

四. 测试环境变量配置是否成功

1. win+R输入cmd进入控制台页面

2. 输入以下代码

3. 运行结果如下则配置成功

五、配置VScode

1. 安装插件C/C++

2. 新建文件夹C作为C语言项目文件

2.1 新建.vscode文件包括下列四个文件

2.2 c_cpp_properties.json

2.3 launch.json

2.4 settings.json

2.5 tasks.json

3. 新建C++文件夹作为C++项目文件

3.1 新建.vscode文件包括下列四个文件

3.2 c_cpp_properties.json

3.3 launch.json

3.4 settings.json

3.5 tasks.json

六、重启VScode

七、编写C语言程序测试

1. 编写hello.c文件

2. 右键选择run code(需下载插件)

3. 成功运行代码!

八、编写C++程序测试

1. 编写hello.cpp

2.  右键选择run code成功运行代码


一、下载VScode

1. 在官网直接下载安装即可

Visual Studio Code - Code Editing. Redefined

2. 安装中文插件

二、下载C语言编译器MinGW-W64

在我上传的资源中可以免费下载!!!

三、配置编译器环境变量

1. 解压下载的压缩包,复制该文件夹下bin目录所在地址

2. 在电脑搜索环境变量并打开

3. 点击环境变量→选择系统变量里的Path→点击编辑按钮

4. 点击新建

5. 将刚刚复制的环境变量粘贴进去

记得添加之后一路点击确认!!!

四. 测试环境变量配置是否成功

1. win+R输入cmd进入控制台页面

2. 输入以下代码

gcc --versiong++ --version

3. 运行结果如下则配置成功

五、配置VScode

1. 安装插件C/C++

点击左上角第五个图标搜索下载

2. 新建文件夹C作为C语言项目文件

2.1 新建.vscode文件包括下列四个文件

2.2 c_cpp_properties.json

{"configurations": [{"name": "windows-gcc-x64","includePath": ["${workspaceFolder}/**"],"compilerPath": "D:/ItApp/mingw64/bin/gcc.exe",  //替换自己电脑实际路径"cStandard": "${default}","cppStandard": "${default}","intelliSenseMode": "windows-gcc-x64","compilerArgs": [""]}],"version": 4
}

2.3 launch.json

{"version": "0.2.0","configurations": [{"name": "(gdb) Launch","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"internalConsoleOptions": "neverOpen","MIMode": "gdb","miDebuggerPath": "gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": false}],"preLaunchTask": "Compile"},{"name": "C/C++: gcc.exe 生成和调试活动文件","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "D:\\ItApp\\mingw64\\bin\\gdb.exe", //替换自己电脑实际路径"setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"preLaunchTask": "C/C++: gcc.exe 生成活动文件"},{"name": "C/C++ Runner: Debug Session","type": "cppdbg","request": "launch","args": [],"stopAtEntry": false,"externalConsole": true,"cwd": "d:/VScode_WorkSpace/C", //替换自己电脑实际路径"program": "d:/VScode_WorkSpace/C/build/Debug/outDebug", //替换自己电脑实际路径"MIMode": "gdb","miDebuggerPath": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

2.4 settings.json

{"C_Cpp_Runner.cCompilerPath": "gcc","C_Cpp_Runner.cppCompilerPath": "g++","C_Cpp_Runner.debuggerPath": "gdb","C_Cpp_Runner.cStandard": "","C_Cpp_Runner.cppStandard": "","C_Cpp_Runner.msvcBatchPath": "","C_Cpp_Runner.useMsvc": false,"C_Cpp_Runner.warnings": ["-Wall","-Wextra","-Wpedantic","-Wshadow","-Wformat=2","-Wcast-align","-Wconversion","-Wsign-conversion","-Wnull-dereference"],"C_Cpp_Runner.msvcWarnings": ["/W4","/permissive-","/w14242","/w14287","/w14296","/w14311","/w14826","/w44062","/w44242","/w14905","/w14906","/w14263","/w44265","/w14928"],"C_Cpp_Runner.enableWarnings": true,"C_Cpp_Runner.warningsAsError": false,"C_Cpp_Runner.compilerArgs": [],"C_Cpp_Runner.linkerArgs": [],"C_Cpp_Runner.includePaths": [],"C_Cpp_Runner.includeSearch": ["*","**/*"],"C_Cpp_Runner.excludeSearch": ["**/build","**/build/**","**/.*","**/.*/**","**/.vscode","**/.vscode/**"],"C_Cpp_Runner.useAddressSanitizer": false,"C_Cpp_Runner.useUndefinedSanitizer": false,"C_Cpp_Runner.useLeakSanitizer": false,"C_Cpp_Runner.showCompilationTime": false,"C_Cpp_Runner.useLinkTimeOptimization": false
}

2.5 tasks.json

{"tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活动文件","command": "D:\\ItApp\\mingw64\\bin\\gcc.exe", //替换自己电脑实际路径"args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}

3. 新建C++文件夹作为C++项目文件

3.1 新建.vscode文件包括下列四个文件

3.2 c_cpp_properties.json

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.17763.0","compilerPath": "D:\\ItApp\\mingw64\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/"cStandard": "c11","cppStandard": "c++17","intelliSenseMode": "${default}"}],"version": 4
}

3.3 launch.json

{"version": "0.2.0","configurations": [{"name": "(gdb) Launch","preLaunchTask": "build","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb",// 这里修改为你电脑上安装(解压的文件 mingw64) 上的路径, bin 文件名加上 gdb.exe"miDebuggerPath": "D:\\ItApp\\mingw64\\bin\\gdb.exe","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

3.4 settings.json

{"files.defaultLanguage": "c", // ctrl+N新建文件后默认的语言"editor.formatOnType": true, // 输入分号(C/C++的语句结束标识)后自动格式化当前这一行的代码"editor.suggest.snippetsPreventQuickSuggestions": false, // clangd的snippets有很多的跳转点,不用这个就必须手动触发Intellisense了"editor.acceptSuggestionOnEnter": "off", // 我个人的习惯,按回车时一定是真正的换行,只有tab才会接受Intellisense// "editor.snippetSuggestions": "top", // (可选)snippets显示在补全列表顶端,默认是inline"code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入"code-runner.executorMap": {"c": "cd $dir && gcc '$fileName' -o '$fileNameWithoutExt.exe' -Wall -g -O2 -static-libgcc -std=c11 -fexec-charset=GBK && &'$dir$fileNameWithoutExt'","cpp": "cd $dir && g++ '$fileName' -o '$fileNameWithoutExt.exe' -Wall -g -O2 -static-libgcc -std=c++11 -fexec-charset=GBK && &'$dir$fileNameWithoutExt'"// "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc -std=c11 -fexec-charset=GBK && $dir$fileNameWithoutExt",// "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc -std=c++17 -fexec-charset=GBK && $dir$fileNameWithoutExt"}, // 右键run code时运行的命令;未注释的仅适用于PowerShell(Win10默认),文件名中有空格也可以编译运行;注释掉的适用于cmd(win7默认),PS和bash也能用,但文件名中有空格时无法运行"code-runner.saveFileBeforeRun": true, // run code前保存"code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false"code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息,默认false"code-runner.ignoreSelection": true, // 默认为false,效果是鼠标选中一块代码后可以单独执行,但C是编译型语言,不适合这样用"C_Cpp.clang_format_sortIncludes": true,"files.associations": {"array": "cpp","atomic": "cpp","*.tcc": "cpp","cctype": "cpp","clocale": "cpp","cmath": "cpp","cstdarg": "cpp","cstddef": "cpp","cstdint": "cpp","cstdio": "cpp","cstdlib": "cpp","cwchar": "cpp","cwctype": "cpp","deque": "cpp","unordered_map": "cpp","vector": "cpp","exception": "cpp","algorithm": "cpp","memory": "cpp","memory_resource": "cpp","optional": "cpp","string": "cpp","string_view": "cpp","system_error": "cpp","tuple": "cpp","type_traits": "cpp","utility": "cpp","fstream": "cpp","initializer_list": "cpp","iosfwd": "cpp","iostream": "cpp","istream": "cpp","limits": "cpp","new": "cpp","ostream": "cpp","sstream": "cpp","stdexcept": "cpp","streambuf": "cpp","typeinfo": "cpp"}, // 格式化时调整include的顺序(按字母排序)
}

 

3.5 tasks.json

{"version": "2.0.0","tasks": [{"label": "build","type": "shell","group": "build","presentation": {"echo": true,"reveal": "always","focus": false,"panel": "shared"},"windows": {"command": "g++","args": ["-ggdb","${file}","--std=c++11","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"]}},{"type": "cppbuild","label": "C/C++: g++.exe 生成活动文件","command": "D:\\ItApp\\mingw64\\bin\\g++.exe",  //替换自己电脑实际路径"args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}]
}

 

六、重启VScode

配置完成之后一般重启一下才会生效。

七、编写C语言程序测试

1. 编写hello.c文件

// hello.c#include <stdio.h>
int main()
{printf("hello world\n");return 0;
}

2. 右键选择run code(需下载插件)

3. 成功运行代码!

八、编写C++程序测试

1. 编写hello.cpp

#include <iostream>using namespace std;int main()
{cout << "hello world" << endl;return 0;
}

2.  右键选择run code成功运行代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习笔记: 最详尽解释逻辑回归 Logistic Regression

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家&#xff01; 逻辑回归概述 逻辑回归类似于线性回归&#xff0c;但预测的是某事物是否为真&#xff0c;而不是像大小这…

K8S 集群节点缩容

环境说明&#xff1a; 主机名IP地址CPU/内存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233&#xff08;需下线&#xff09;192.168.99.2332C4Gwoker1.23.1720.10.24 1. K8S 集群节点缩容 当集群中有…

爬虫中如何创建Beautiful Soup 类的对象

在使用 lxml 库解析网页数据时&#xff0c;每次都需要编写和测试 XPath 的路径表达式&#xff0c;显得非常 烦琐。为了解决这个问题&#xff0c; Python 还提供了 Beautiful Soup 库提取 HTML 文档或 XML 文档的 节点。 Beautiful Soup 使用起来很便捷&#xff0c;…

计算机中的浮点数 - 为什么十进制的 0.1 在计算机中是一个无限循环小数

计算机中的浮点数 - 为什么十进制的 0.1 在计算机中是一个无限循环小数 flyfish 用 float 或 double 来存储小数时不是精确值 浮点数在计算机中是以二进制形式存储的&#xff0c;通常使用 IEEE 754 标准。浮点数由三个部分组成&#xff1a;符号位、指数位和尾数位。 先看一个…

【2024】LeetCode HOT 100——图论

目录 1. 岛屿数量1.1 C++实现1.2 Python实现1.3 时空分析2. 腐烂的橘子2.1 C++实现2.2 Python实现2.3 时空分析3. 课程表3.1 C++实现3.2 Python实现3.3 时空分析4. 实现 Trie (前缀树)4.1 C++实现4.2 Python实现4.3 时空分析1. 岛屿数量 🔗 原题链接:200. 岛屿数量 经典的Fl…

鸿蒙应用开发之OpenGL的EGL

要开发OpenGL程序,那么这个程序就需要与操作系统进行交流,由于存在不同的操作系统,这样就面临着开发不同的程序的困难,为了解决这个问题,就引入了一个中间层的软件库,这个软件库叫做EGL。 众所周知,Opengl是跨平台的,那么面对各种平台的差异性,Opengl是如何抹平而做到…

CleanMyMacX2024让你的苹果电脑重获生机!

在电脑使用过程中&#xff0c;你是否遇到过这样的问题&#xff1a;运行速度变慢、磁盘空间不足、系统出现故障……这些问题不仅影响你的工作效率&#xff0c;还会让电脑的使用寿命大大缩短。那么&#xff0c;如何轻松解决这些问题呢&#xff1f;答案就是CleanMyMac X。 CleanM…

苏州大厂面试题JAVA 面试集

基础知识1、强引用、软引用、弱引用、幻象引用有什么区别?(java基础) 答案参考:https://time.geekbang.org/column/article/6970 2、 对比Hashtable、HashMap、TreeMap有什么不同?(数据结构) 答案参考:https://time.geekbang.org/column/article/8053 3、一个线程调用两次…

ubuntu20.04安装kazam桌面屏幕录制工具

在Ubuntu 20.04上安装Kazam可以通过以下步骤进行&#xff1a; 1.打开终端&#xff1a;可以通过按下Ctrl Alt T组合键来打开终端。 2.添加PPA源&#xff1a;Kazam不再在官方Ubuntu仓库中&#xff0c;但可以通过PPA源进行安装。在终端中输入以下命令来添加PPA&#xff1a; su…

AI绘画:P图如此丝滑,OpenAI上线ChatGPT图像编辑功能,DallE-3绘画如此简单

大家好我是极客菌&#xff0c;用ChatGPT的DallE-3进行AI绘画对很多人来说是一个门槛很低的选择&#xff0c;现在OpenAI又重磅上线了图像编辑器功能(DallE editor)&#xff0c;可以很方便的对图片的局部进行修改&#xff0c;而且支持中文&#xff0c;主打一个功能强大且好用&…

Jquery 获得Form下的所有text、checkbox等表单的值

Jquery使用表单我主要是想获得某一个表单下的所有text获得checkbox的值: 可以这样写: var parameter{}; $("input[typetext]",document.forms[0]).each(function(){ alert(this.name); }); 获得所有名为hobby的选中的checkbox的值和form2下的所有text的值 function s…

【云原生】Prometheus 使用详解

目录 一、前言 二、服务监控概述 2.1 什么是微服务监控 2.2 微服务监控指标 2.3 微服务监控工具 三、Prometheus概述 3.1 Prometheus是什么 3.2 Prometheus 特点 3.3 Prometheus 架构图 3.3.1 Prometheus核心组件 3.3.2 Prometheus 工作流程 3.4 Prometheus 应用场景…

Elasticsearch 配置

Elasticsearch提供良好的默认设置&#xff0c;并且只需要很少的配置。可以使用群集更新设置API在正在运行的群集上更改大多数设置。 配置文件应包含特定于节点的设置&#xff08;如node.name和paths&#xff09;&#xff0c;或节点为了能够加入集群而需要的设置&#xff0c;如…

webrtc-m120编译 (m126)

WebRTC实时互动入门 环境 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04 Codename: jammyuname -a Linux yqw-Lenovo-XiaoXinPro-13ARE-2020

Agent技术在现代软件开发与应用中的探索

一、引言 随着计算机科学的快速发展&#xff0c;Agent技术作为人工智能和分布式计算领域的重要分支&#xff0c;已经渗透到软件开发的各个方面。Agent技术通过赋予软件实体自主性和交互性&#xff0c;使得软件系统能够更加智能、灵活地响应环境变化和用户需求。本文将对Agent技…

java基于ssm+jsp 个人交友网站

1前台首页功能模块 个人交友网站&#xff0c;在系统首页可以查看首页、交友信息、线下活动、系统公告、论坛信息、我的、跳转到后台、客服等内容&#xff0c;如图1所示。 图1系统功能界面图 用户注册&#xff0c;在用户注册页面可以填写用户账号、密码、用户姓名、年龄等信息进…

深入理解 Spring MVC:原理与架构解析

文章目录 前言一、MVC二、Spring MVC三、Spring MVC 工作流程四、小结推荐阅读 前言 Spring MVC 是一种基于 Java 的 Web 应用开发框架&#xff0c;它通过模型-视图-控制器&#xff08;Model-View-Controller, MVC&#xff09;的设计模式来组织和管理 Web 应用程序。本文将深入…

java基于ssm+jsp 二手车交易网站

1用户功能模块 定金支付管理&#xff0c;在定金支付管理页面可以填写订单编号、车型、品牌、分类、车身颜色、售价、订金金额、付款日期、备注、用户名、姓名、联系方式、是否支付等信息&#xff0c;进行详情、修改&#xff0c;如图1所示。 图1定金支付管理界面图 预约到店管…

1.搭建篇——帝可得后台管理系统

目录 前言项目搭建一、搭建后端项目1.初始化项目Maven构建 2.MySQL相关导入sql配置信息 3. Redis相关启动配置信息 4.项目运行 二、 搭建前端项目1.初始化项目2.安装依赖3.项目运行 三、问题 前言 提示&#xff1a;本篇讲解 帝可得后台管理系统 项目搭建 项目搭建 一、搭建后…

单段时间最优S型速度规划算法

一&#xff0c;背景 在做机械臂轨迹规划的单段路径的速度规划时&#xff0c;除了参考《Trajectory Planning for Automatic Machines and Robots》等文献之外&#xff0c;还在知乎找到了这位大佬 韩冰 写的在线规划方法&#xff1a; https://zhuanlan.zhihu.com/p/585253101/e…