Visual Studio Code 的安装教程和配置C语言环境(详解版)

2023-11-19

最近想装一个VS Code 来写C/C++程序,但是看了网上的很多教程发现并不是那么的好,大部分都尝试失败了,摸索了很久找到了一个比较可靠的方法。

目录

(一)Visual Studio Code 的安装教程

(二)接下来就是C语言的环境配置

(三)补充


首先可以去官网下载VS Code

传送门https://code.visualstudio.com/

(一)Visual Studio Code 的安装教程

1、点击Download for Windows

 2、下一步

3、选择安装路径,我选择的是E:\Visual Studio Code

4、下一步

 5、这里很重要啦,一定要勾选这个PATH,这样让系统自动去配置这个环境变量,自己就不用再动手去配置了,后面做完全部的工作之后记得重启

6、接下来就点安装,然后等待安装完成就可以了

 

(二)接下来就是C语言的环境配置

 1、打开Visual Studio Code 界面

 先把C/C++的扩展和Chinese简体中文下下来

注:Windows环境下VS code是不支持C语言的调试和编译,所以我们还要下载gcc等Tools的WinGw来提供支撑。

2、接下来就是MinGw的下载和安装

(1)官网的下载地址:[https://sourceforge.net/projects/mingw/] 

点击DownLoad即可

 如果有小伙伴想跳过这一步也可以直接点击下面这个链接获取:

https://nchc.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/sjlj/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7zhttps://nchc.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/sjlj/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z(记得记得千万别用QQ浏览器下载,推荐使用Edge和火狐)

(2)解压到文件夹下面,我选择的是E盘

                (这里要注意了哈)

进入文件夹找到bin文件然后复制路径:E:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin

(这是我的路径)

(3)配置环境变量

第一步:

 

第二步:找到Path点击后点击下面的编辑 

第三步:把刚刚复制的路径给添加上去

第四步:点击应用,确定就OK了

(4)验证一下MinGw配置完成情况

第一步:Win+R 运行cmd

 注意:如果没有重启的话,第一次配置完成的时候运行cmd 直接输入gcc会显示:不是内部或外部命令,也不是可运行的程序或批处理文件。

当然你想完成全部工作之后再重启的话,你也可以输入:

这样表示配置成功了。

第二步:输入gcc -v

这样表示成功了。


(三)补充

有小伙伴说做完上面的步骤之后并没有成功运行C程序。

这是因为我们还没有设置好对应的json文件

配置JSON文件

第一步:在磁盘下创建一个文件夹,命名为CWORKSPACE

 

第二步:在VS Code中的资源管理器下面创建几个文件,因为我这里已经创建好了就直接展示出来吧。

(1)在CWORKSPACE文件下面新建一个文件夹命名为 .vscode

(2)在.vscode文件夹下面创建三个json文件。 

命名为:

1、c_cpp_properties.json

2、launch.json

3、tasks.json

(3)修改Json文件中的内容

1、c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/include/**",
                "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/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}",
                    "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/include/**",
                    "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                    "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                    "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                    "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                    "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                    "E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
                ]
            }
        }
    ],
    "version": 4
}

 将其中的   E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin 路径替换成你的路径

2、launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "preLaunchTask": "echo",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "echo.",
                "&",
                "pause"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "console":"newExternalWindow"
        },
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\\mingw64\\bin\\gdb.exe",// 自己电脑的gdb
            "preLaunchTask": "echo",//这里和task.json的label相对应
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
 
        }
    ]
}

这里同样修改E:/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0/mingw64/bin 路径替换成你的路径

3、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",
            "command": "gcc",
            "args": [
                "-g", 
                "${file}", 
                "-o", 
                "${fileBasenameNoExtension}.exe",
                "-fexec-charset=GBK"//解决中文乱码
            ]
        }
    ],
    "presentation": {
        "echo": true,
        "reveal": "always",
        "focus": false,
        "panel": "new", 
        "showReuseMessage": true,
        "clear": false
    }
}

 

(4)运行C程序的Hello world程序

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

F5运行如下:

小三角运行如下:

 

 

哦对,别忘记了去扩展里面下一个这个玩意

 然后勾选好下面两个选项

 

OK,到此为止,VS Code的C语言环境你已经配置完成了,赶快去愉快的尝试一下吧!

配置完成之后,别忘记了重启电脑

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio Code 的安装教程和配置C语言环境(详解版) 的相关文章

  • 从哪里开始使用 C# 和 Dreamweaver 中的 ASP.net?

    我希望开始使用 C 开发个人网站 我是一名 Web 开发人员 以前使用过 VBScript 现在在工作中使用 Coldfusion 我使用 Dreamweaver 进行这些语言的开发 我读过很多人建议您应该使用 MS IDE 在 net 中
  • JavaScript 调试器[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道有一个非常好的调试 JavaScript 的编辑器 除了 Visual Studio 2008
  • Flex/Bison IDE? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个良好的开发环境 可以在 Flex 或 Bison 或两者上工作 是否有任何 IDE 具有
  • Linux 上 Objective-C 的 IDE [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在学习 Objective C 我想知道在哪里可以找到 Linux 上 Objective C 的
  • 我应该使用什么 IronPython IDE?

    这个问题可能看起来很像Windows 上的 IronPython IDE https stackoverflow com questions 755883 ide for ironpython on windows关于 stackoverf
  • PyCharm:Scapy 未解决的参考

    我正在开发一个使用 scapy 用 python 编写的网络工具 我使用 Pycharm 作为 IDE 我的代码有效 因此 如果我运行它 一切都会按预期进行 我的问题是 PyCharm 给了我一些错误 它标志着每次使用IP TCP Ethe
  • 非线性条件断点

    是否可以设置断点 使程序在指令满足某些条件后停止执行true 一个类有一个名为的变量currency我想设置一个断点 使程序在之后的任何行停止currency 20 我不知道行号在哪里currency已更改 因此这就像在其中放置一个断点每行
  • 如何在 Eclipse 中运行具有 main() 的单个 Java 文件,而不创建整个 Java 项目?

    这是我所得到的 我有一个TestFile java具有相同的类名 这个类有一个有效的main method 该文件可以通过终端使用 javac 和 java 轻松运行 给出预期的输出 但是 当我将文件拖放到 或打开 到 Eclipse 中并
  • 如何清除“运行”->“参数”菜单中的“参数”字段?

    我正在使用 CodeGear RAD Studio IDE 为了使用命令行参数测试我的应用程序 我多次使用 运行 gt 参数 菜单中的 参数 字段 但每次我为它提供一个新值时 它都无法从 下拉框 中删除 我需要清理这个字段 删除所有值 因为
  • 有一个不错的 OpenCL 入门套件吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一些经验OpenGL它是可编程管道 我愿意给OpenCL不过 尝试一下 有人可以提出一个很好的集成套件来使用OpenCL 我只知道石英作曲家看起来
  • 自动同步 Visual Studio 的类视图

    是否可以让 Visual Studio 的 类视图 窗格 在 视图 gt 类视图 下可用 自动同步到当前符号 基本上只要当前符号发生变化就会执行 View SynchronizeClassView See here https stacko
  • 汤博乐开发工具

    我想创建 Tumblr 主题 有趣的是有没有 IDE Netbeans Eclipse PHPStorm 插件或开发工具 理想的情况是在浏览器中预览我的主题 而不将其上传到 Tumblr 谢谢 我找到了自己的方法来使用 PhpStorm 或
  • 为家庭作业选择 Java IDE [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 谁能推荐一个轻量级的 Java IDE 不需要您每次编译和运行程序时都创建新项目 我只想能够打开jav
  • 设置 xamarin studio 以与 PCL 和 MVVMCross 配合使用

    我真的很喜欢 Xamarin Studio 并且正在寻找一个模板解决方案来开始使用 MvvmCross 开发跨设备应用程序 但我找不到如何将项目设置为与 Xamarin Studio 一起使用 PCL 和 MvvmCross 如果有人能给我
  • 在 Codeblocks 中启用编译器输出窗格

    This is probably a really noob question but the fact of the matter is that my Code blocks wouldn t show me errors when i
  • Netbeans 版本控制文件颜色代码?

    我试图找到一个图例来帮助解释 NetBeans 用于描述文件状态的不同颜色 我的一些文件颜色是 Grey Blue Green 还有其他我还没有发现的 如果有帮助 我将使用带有 CVS 的 Netbeans 6 7 这些颜色是什么 绿色意味
  • 如何在 IDE 中输入提示上下文?

    我在用Closure call http php net manual en closure call php http php net manual en closure call php 在类上下文中调用外部闭包 这是一个简单的重现 c
  • 最佳 Fortran IDE [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 stackoverflow上有人用Fortran吗 您使用什么 IDE 您认为哪一个是最好的 似乎我周围的很多人都对 Intel Visu
  • IntelliJ IDEA 中查找方法/函数的快捷方式是什么?

    I know that Ctrl N is to find classes and it is very useful But what about methods ctrl F12 cmd F12 on macOS will show a
  • android studio 和 android SDK 捆绑的 eclipse 版本有什么区别

    我没有 Android 开发经验 我想开始编写应用程序 The 官方开发者工具页面 http developer android com tools index html包含两个不同 IDE 的链接 第一个包含捆绑的 ADT 版本Eclip

随机推荐

  • Unity项目资源加载管理简易框架(Resource)

    文章目录 一 背景 二 思路概述 三 具体实现代码及其思路梳理 1 资源路径 2 资源管理 3 资源加载 4 资源管理 四 说明 一 背景 在Unity的轻量型项目中如果对优化没有特别搞得要求 如果需要用到Resource Load这个接口
  • 算高差改正数的计算机程序,水准测量中测量高差的改正数怎么计算?

    原标题 水准测量中测量高差的改正数怎么计算 工程测量中 高速铁路 城市轨道涉及到二等水准 一般铁路涉及三 四等水准 高速公路 房建 市政一般采用四等水准 沉降观测各等级均涉及 在水准测量中高差的改正三四等水准需要进行水准标尺长度改正 正常水
  • 基于51单片机简易电子琴设计(含Keil程序和Proteus文件)

    一 系统概述 系统使用的模块有AT89C51单片机 8位共阳数码管 矩阵键盘 小灯 按键 蜂鸣器 本次设计的电子琴系统以AT89C51单片机为控制核心 使用数码管显示音符 右侧的矩阵键盘可以理解为琴键 按下不同的按键就能显示不同的音符 按下
  • 最新服务器CPUe5,看这里!2019 至强 Xeon E5 服务器系列 CPU 天梯图分享

    排名名称评分 1Intel Xeon E5 2679 v4 2 50GHz25 236 2Intel Xeon E5 2699 v4 2 20GHz23 200 3Intel Xeon E5 2696 v3 2 30GHz22 548 4I
  • LNCS用户写作指南【 Springer Computer Science Proceedings 】

    转自 http blog csdn net wyskys article details 18075471 重点是文末的参考文献格式 主要的是 链接 期刊论文 会议论文的引用格式 下載地址 http static springer com
  • Jsoup 抓取网页内容demo

    1 代码 public Document getDocument String url try return Jsoup connect url get catch IOException e e printStackTrace retur
  • 为什么电脑的时间总是快2分钟

    由于工作需要 今天领到一台新的笔记本 轻轻地抚摸 新伙伴 的同时 发现笔记本的时间 快了2分钟 o o表情 明明已经联网了 为啥还是快两分钟呢 于是我就一顿操作猛如虎 结果一看 服务器连接的是 time windows com 这可不行 我
  • 【Linux】Ubuntu系统下用apt命令删除/卸载软件包

    大家都知道 在ubuntu中安装一个新的软件包时 直接使用sudo apt get install命令就好 那么 如果要卸载或者删除一个软件包呢 1 删除为了满足依赖而安装的 但现在不再需要的软件包 包括已安装包 保留配置文件 这个命令容易
  • C/C++编程题开头字符串、数据输入几种写法

    1 题设 在IT公司编程题中 多数会让你一并写上测试数据输入和结果输出的Demo 这也是程序员基本的功底 想一想如果连自己的测试数据都无法给入 后面的算法写的再好 也无法测试它的准确性和效果 下面分别从c c 以及字符串输入和数组输入 来谈
  • Python 多线程、线程池、进程池

    线程间的通讯机制 消息队列 event 事件对象 当线程创建完成之后 并不会马上执行线程 而是等待某一事件发生 线程才会启动 import threading 创建 event 对象 event threading Event 重置代码中的
  • BeyondCompare破解版的下载安装

    目前Beyond Compare的版本已经支持到4 2的release版本 官网 https www scootersoftware com download php 支持 windows mac linux版本 这里我们选择的mac版本
  • android设置白天模式和夜间模式

    if isDay AppCompatDelegate setDefaultNightMode AppCompatDelegate MODE NIGHT YES else AppCompatDelegate setDefaultNightMo
  • python3GUI--抖音无水印视频下载工具(附源码)

    文章目录 一 准备工作 二 预览 0 复制抖音分享短链接 1 启动 2 运行 3 结果 三 设计流程 1 总体设计 2 详细设计 四 源代码 五 说明 总结 hello 大家好啊 失踪人口回归了 捂脸 本次使用tkinter撰写一篇 抖音无
  • QML中ListView数据的分组与定位显示

    在QML中ListView的数据分组与定位显示时 以前使用ListView进行数据分组时 都是在model中加入分组数据 分组的项 然后将model中的数据排好序后全部显示到ListView中 这样做也能达到数据分组的目的 但是数据维护太费
  • 为什么List,set,map 不继承Serializable接口

    为什么List set map 不继承Serializable接口 猜测 应该是默认不继承 但实际上可以继承 只要是object都可以实现这个接口只是默认不这样干 有三个可能 一 是不知道怎么实现默认接口 二 不允许实现默认接口 三 暂时没
  • UITextFeild Test

    import
  • selenium的使用

    selenium的使用 0 使用selenium import time from selenium webdriver import Chrome from selenium webdriver common by import By 1
  • mos管的rc吸收电路计算_RCD吸收电路

    一 首先对MOS管的VD进行分段 输入的直流电压VDC 次级反射初级的VOR 主MOS管VD余量VDS RCD吸收有效电压VRCD1 二 对于以上主MOS管VD的几部分进行计算 输入的直流电压VDC 在计算VDC时 是依最高输入电压值为准
  • 大型网站架构不得不考虑的10个问题

    这里的大型网站架构只包括高互动性高交互性的数据型大型网站 基于大家众所周知的原因 我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了 我们以高负载高数据交换高数据流动性的网站为例 比如海内 开心网等类似的web2 0系列架构 我们这
  • Visual Studio Code 的安装教程和配置C语言环境(详解版)

    最近想装一个VS Code 来写C C 程序 但是看了网上的很多教程发现并不是那么的好 大部分都尝试失败了 摸索了很久找到了一个比较可靠的方法 目录 一 Visual Studio Code 的安装教程 二 接下来就是C语言的环境配置 三