前提

  1. 安装 Visual Studio Code

  2. 安装 C/C++ 扩展 for VS Code 也可以在vscode的extension界面搜索'c'查找插件安装

  3. 获取最新的 Mingw-w64 ,或者通过 MSYS2 安装

  4. 添加 Mingw-w64的bin文件夹路径到系统环境变量中,bin路径取决于Mingw-w64的安装路径,C:\XXX\XXX\mingw64\bin示例,步骤如下

    1. 在底栏的搜索框中,搜索“设置”,打开win设置程序
    2. 在设置中,搜索系统环境变量
    3. 选择系统中的path变量(个人用户的也可以),点击编辑
    4. 新建一个环境变量,将Mingw-w64的bin文件夹路径添加进去。
    5. 点击确定保存更新路径,需要重新打开cmd才能路径生效
  5. 检查是否成功安装,打开cmd,输入

    gcc -v

    如果没有成功输出版本号,那说明安装不成功

Hello World!

创建一个空文件夹projects用来存放vscode项目文件。再projects中创建一个子文件夹helloworld,然后在vscode中打开这个helloworld文件夹。

可以在cmd完成这项操作:

mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

code .命令是指在此文件夹中打开vscode。

添加源文件

添加helloworld.c

复制下面代码,添加到文件中

#include <stdio.h>

int main()
{
printf("Hello world!"); return 0;
}

编译

这一步要创建tasks.json,文件是用于告诉vs code怎么编译程序

在主菜单中,选择 Terminal > Configure Default Build Task. 选择一个编译器点击,c语言就选择gcc,c++就选择g++

选择之后,tasks.json会被创建在.vscode文件夹中。文件内容与下文相似

{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "C:/msys64/mingw64/bin/gcc.exe",
"args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "compiler: C:/msys64/mingw64/bin/gcc.exe"
}
],
"version": "2.0.0"
}

command: 指定编译器的路径

args: 指定将传递给gcc的命令行参数,这些参数必须按照编译器期望的顺序指定。这些参数告诉gcc获取活动文件(${file}),先编译它,然后在当前文件夹(${fileDirname})创建一个可执行文件,其名字与活动文件一样,但是后缀是.exe。(${fileBasenameNoExtension}.exe)

label: 这是你在任务列表中看到的,可以随便给它起个名字。

"isDefault": true 指定该任务将在按下Ctrl+Shift+B时运行,只是为了方便使用,也可以在 Terminal: Run Build Task 中编译文件

运行编译

  1. 回到helloworld.c,可以通过Ctrl+Shift+B快捷键编译,也可以点击Terminal: Run Build Task编译

  2. 编译成功之后,会在集成的terminal中输出类似下图的信息

  3. 点击任何键退出界面。运行 dir 命令将会看到新创建的 helloworld.exe

    可以在terminal中运行exe文件 (helloworld.exe 或者 .\helloworld.exe)

    图片仅作参考,本实例实际运行输出为Hello world!

编辑json文件

使用"${workspaceFolder}\\*.c" 代替 ${file},编译时会编译当前文件夹中所有的.c文件,输出文件名也要修改为"${fileDirname}\\${fileBasenameNoExtension}.exe"

debug

在此操作中会创建一个launch.json文件。当你按F5调试程序时,VS Code需要使用launch文件来启动GDB调试器。

  1. 在主菜单中,选择Run > Add Configuration... 然后选取 C++ (GDB/LLDB)
  2. 然后再选取 gcc.exe build and debug active file(c语言就选gcc,c++就选取g++)

完成操作后会创建一个launch.json文件,内容与下方类似

{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe build active file"
}
]
}

program: 设置指定要调试的程序

stopAtEntry: 默认为false,为true时,debug时会在main函数开头设置断点

preLaunchTask: 设置用于指定在启动前要执行的任务,确保与tasks.jsonlabel保持一致

C/C++ configurations

如果想要对C/C++扩展的拥有更多的控制权,需要创建一个c_cpp_properties.json文件。这将允许你改变设置,如编译器的路径,包括路径,c++标准(默认是c++ 17)以及更多。

  1. 使用快捷键Ctrl+Shift+P,搜索C/C++: Edit Configurations (UI)

  2. 点击就会打开设置界面。人为改变设置,就会记录在c_cpp_properties.json文件中

win10 VScode配置GCC(MinGW)的更多相关文章

  1. MinGW下载并配置gcc/g++编译环境

    本文将讲解如何下载MinGW并配置gcc\g++编译环境 一.下载MinGW 在MinGW官网中下载“mingw-get-setup.exe” 官网传送门:http://www.mingw.org/  ...

  2. VS Code + MinGW + Clang + OpenGL (vscode 配置 opengl环境)

    vscode配置opengl环境会遇到一些问题,这里是在看了一些博文之后给出的一篇完整的可行的配置 首先,要配置C++环境,网上有很多完整的配置C++环境的教程,这里就引用一条 https://www ...

  3. Win10下使用VSCode配置python运行环境

    VSCode配置python运行环境 安装python 到官网下载python,直接安装即可,在安装过程中可以选择将python加入环境变量 安装VSCode 官网下载,直接安装 配置 安装pytho ...

  4. Visual Studio Code (vscode) 配置 C / C++ 环境

    Visual Studio Code (vscode) 配置 C / C++ 环境 昨天突发奇想,想使用vscode配置C++环境,因为不想下载 Dev OR codeblock,然后借助了很多网上教 ...

  5. VSCode配置c++环境简单教程

    VSCode配置c++环境简单教程 1.下载MinGW 安装有关gdb,gcc,g++的所有包 2.文件夹 打开一个文件夹 在里面随便写一个cpp 不管是VS还是VSCode,它的基本操作单位都是文件 ...

  6. # VsCode 配置C++调试运行

    VsCode 配置C++调试运行 打开命令面板快捷键为F1,软件上写的Ctrl+Shift+P似乎没用 先安装插件使得可以运行 先自行在vsc扩展中搜索C++安装C/C++插件 再参考知乎专栏中安装c ...

  7. 玩转轻巧型C/C++ IDE之C-Free(配置GCC、Visual C++、Borland C++编译器)

    玩转轻巧型C/C++ IDE之C-Free(配置GCC.Visual C++.Borland C++编译器) 之前在写一点简单的C/C++代码时习惯了VC++6.0,但是由于在windows7下VC6 ...

  8. win10+vscode部署java开发环境

    目录 Java开发插件配置: 调试: 快捷键: 启动配置文件launch.json: 启动配置说明: Launch: Attach: User Setting: 遇到的问题: 参考: Java开发插件 ...

  9. VScode 配置 C++ 环境进行编译和调试

    这里记录为 VScode 配置 C++ 环境的简单步骤,实践环境为 Ubuntu 18.04 ,VScode 1.27 .在 Ubuntu 环境下,系统默认安装 gcc 和 g++ 编译器,故而下列步 ...

随机推荐

  1. 51 Nod 1006 最长公共子序列(LCS & DP)

    原题链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1006 题目分析: 首先先知道LCS问题,这有两种: Long ...

  2. WAFW00F waf识别工具 源码学习

    我实习工作的第一个任务根据已有的java waf识别工具 实现了一个python的waf识别工具 代码结构非常乱 仅仅达到了能用的水平. 顶头svp推荐这个项目当时我已经写好了开始用了自己的 稍微看了 ...

  3. k8s中kubeconfig的配置及使用

    1.概述 kubeconfig文件保存了k8s集群的集群.用户.命名空间.认证的信息.kubectl命令使用kubeconfig文件来获取集群的信息,然后和API server进行通讯. 注意:用于配 ...

  4. manjaro20默认关闭蓝牙

    用于节电. https://gist.github.com/0xfe11/d0874b7d31cf649616fa9d816571ab3c 推荐执行 # Stop and disable the bl ...

  5. bit操作常见trick

    x&(x-1)可以消去最右边的1, 如果判断一个数是否是2的指数的快捷方法,比如8,二进制位1000, 那么8&(8-1)为0,只要为0就是2的指数

  6. javaObject类-equals方法及覆盖

    1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...

  7. 南屿 带你 走进 vue

    ### Vue > Vue是一个前端js框架,由尤雨溪开发,是个人项目 Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它 ...

  8. mysql加强(3)~分组(统计)查询

    一.分组(统计) 查询 1.语法 : select [distinct] *| 分组字段1[别名] [,分组字段2[别名],...] | 统计函数 from 表名 [别名] [where 条件(s)] ...

  9. Redis 源码简洁剖析 03 - Dict Hash 基础

    Redis Hash 源码 Redis Hash 数据结构 Redis rehash 原理 为什么要 rehash? Redis dict 数据结构 Redis rehash 过程 什么时候触发 re ...

  10. Python 序列类型小结

    序列是python中最基本的数据结构. 序列中每一个元素都有其对应的索引,索引是从0开始,0,1,2......依次类推 python中的序列类型有:字符串str.列表list.元组tuple.Uni ...