说明

VSCode是个编辑器,默认不带编译和调试环境,需要自行安装编译器,调试可以用其插件完成。

编译套件选用的是TDM-GCC,方便易用。(Codeblocks、Dev-Cpp等默认带的都是这款)。安装时会自动添加路径到环境变量PATH。

下载

配置

打开powershell,输入gcc检测gcc是否安装成功;

打开VS Code,点扩展,把需要的插件和主题都安装了;

建好纯英文的工作目录(VS Code对中文支持较差),在VSCode的资源管理器中打开这个目录,按F5,会自动创建.vscode目录下的launch.json文件,编辑并保存:

{

"version": "0.2.0",

"configurations": [{

"name": "C Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示

"type": "cppdbg", // 配置类型,这里只能为cppdbg

"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)

"launchOptionType": "Local", // 调试器启动类型,这里只能为Local

"targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64

"program": "${cwd}\\${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径

"miDebuggerPath": "gdb32.exe", // miDebugger的路径,注意这里要与MinGw的路径对应。64位系统用gdb64.exe

"args": [""], // 程序调试时传递给程序的命令行参数,一般设为空即可

"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true

"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录

"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台

"preLaunchTask": "gcc"   // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc

}]

}

在.vscode目录下新建tasks.json文件:

{

"version": "0.1.0",

"command": "gcc", // 编译C++用g++,用MinGW和clang的自行修改。

"args": ["${file}", "-o", "${fileBasenameNoExtension}.exe", "-g3", "-Og", "-Wall", "-static-libgcc", "-std=c11", "-fexec-charset=GBK", "-finput-charset=UTF-8"], // 编译命令参数,C++可用-std=c++14

"showOutput": "always",

"problemMatcher": {

"owner": "c",

"fileLocation": ["relative", "${workspaceRoot}"],

"pattern": {

"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",

"file": 1,

"line": 2,

"column": 3,

"severity": 4,

"message": 5

}

}

}

在.vscode目录下新建settings.json文件:

// 将设置放入此文件中以覆盖默认值和用户设置。

{

"files.defaultLanguage": "c",

"code-runner.runInTerminal": false,

"code-runner.executorMap": {

"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c11 && $dir$fileNameWithoutExt",

"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -Wall -g3 -Og -static-libgcc -std=c++14 && $dir$fileNameWithoutExt"

}

}

在.vscode目录下新建c_cpp_properties.json文件:

// 目录根据实际修改

{

"configurations": [

{

"name": "Win32",

"includePath": [

"${workspaceRoot}",

"C:/TDM-GCC-32/include",

"C:/TDM-GCC-32/lib/gcc/mingw32/5.1.0/include"

],

"browse": {

"limitSymbolsToIncludedHeaders": true,

"databaseFilename": "",

"path": [

"C:/TDM-GCC-32/include",

"C:/TDM-GCC-32/lib/gcc/mingw32/5.1.0/include"

]

}

}

],

"clang_format": {

"style": "file",

"fallback-style": "LLVM",

"sort-includes": false

}

}

7.在当前目录下新建一个.c文件,在调试面板中测试啦,或直接按F5。

技巧

因为VS需要为每一个文件夹做单独配置,所以建议把.vscode文件夹放到你常用的文件夹的顶层,这样就不用重复配置了。(里面一般有:launch.json,tasks.json,settings.json,c_cpp_properties.json 四个基本的文件用于支持编译输出)

Ctrl + = 或 -(退格键左边)可放大缩小,再把各窗口拉一拉,配合逼格的主题简直完美!

虽然配置了环境变量,仍需要将其中includePath项的路径更改为安装的TDM-GCC的实际路径,这一项是让VSCode识别到C/C++的头文件,不然找不到的时候会报错。

参考文章:

vsc 如何编译c语言,FW:win下轻量级的c语言开发环境配置:vsc + gcc相关推荐

  1. window下spark的安装和开发环境配置

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建, ...

  2. Windows 10 下的OpenVINO Pycharm+Anaconda开发环境配置

    配置环境 Windows 10 Anaconda 2.0.4 Pycharm 2021.1 Python 环境 3.6.13 OpenVINO 工具包 2020.2 OpenVINO安装:https: ...

  3. 轻量级的c语言开发环境搭建,win下轻量级的c语言开发环境配置:vsc + gcc

    说明 VSCode是个编辑器,默认不带编译和调试环境,需要自行安装编译器,调试可以用其插件完成. 编译套件选用的是TDM-GCC,方便易用.(Codeblocks.Dev-Cpp等默认带的都是这款). ...

  4. linux mysql 开发环境_RedHat Linux下QT平台MySQL数据库开发环境配置

    This doucment is about how to add MySQL driver into QT and about database connections 由于之前安装RedHat的时 ...

  5. linux 安装qt mysql库_Linux下QT平台Mysql数据库开发环境配置

    This doucment is about how to add mysql driver into QT and about database connections     由于之前安装RedH ...

  6. Linux下QT平台Mysql数据库开发环境配置

    This doucment is about how to add mysql driver into QT and about database connections     由于之前安装RedH ...

  7. Fortran语言初探及Win7 64位下Fortran开发环境配置

    笔者作为一只游走在生态.遥感.GIS与计算机的学生狗,最近终于因缘际会各种巧合下开始学习Fortran.还记得遥感物理课上牛柳两位老师(真是一个折磨萌萌哒台湾腔南方银口音的老师组合)的辐射传输方程.几 ...

  8. windows下spark开发环境配置

    --本篇随笔由同事葛同学提供. windows下spark开发环境配置 特注:windows下开发spark不需要在本地安装hadoop,但是需要winutils.exe.hadoop.dll等文件, ...

  9. lex编译dos命令_Lex与Yacc学习(一)之环境配置篇

    Abstract 在开发程序的过程中经常会遇到文本解析的问题,例如:解析 C 语言源程序,编写 脚本引擎等等,解决这种文本解析的方法有很多,一种方法就是自己手动用 C 或者 C++直接编写解析程序,这 ...

最新文章

  1. 独家 | 一文带你上手卷积神经网络实战(附数据集学习资料)
  2. 信息管理代码分析二读取二进制文件数据
  3. android setinputtype光标,Android屏蔽软键盘并且显示光标的实例详解
  4. linux kernel的spin_lock的详细介绍(以arm64为例)
  5. ref与out一看就懂
  6. php提交多条数据,tpphp一个表单提交多个需要循环的数据怎么处理
  7. Python3+PyCharm+selenium3 环境搭建
  8. [JDK 11] jcmd中的类加载器层次结构详细信息
  9. linux make使用技巧
  10. 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(六)(应用IOC模式)...
  11. java web开发中会遇到的异步执行方案
  12. 工作分析文献综述_学术知识| 如何撰写文献综述
  13. 新概念模拟电路简介及section5笔记
  14. w7系统怎么ping服务器,win7系统中如何ping端口命令
  15. C语言基础知识快速入门(全面)
  16. 微信公众号如何推广自己的小程序以及操作步骤
  17. 利用科来数据包播放器实现网络数据回放
  18. Pygame小游戏:玩扫雷就在瞎点的,不止你一个人。
  19. android killer java_android killer无法查看java源代码的解决方法
  20. 第十七届“振兴杯”全国青年 职业技能大赛——计算机程序设计员(云计算平台与运维)参赛回顾与总结

热门文章

  1. 【洛谷习题】Likecloud-吃、吃、吃
  2. praat对音频文件进行标注
  3. iOS开发键盘设置,IOS7深灰色键盘
  4. 单页面应用和多页面应用
  5. 简单工厂设计模式与工厂设计模式
  6. 家居家纺行业的进销存软件怎么选择,门店管理系统选择
  7. 一个C类地址192.168.1.0划分5个子网,每个子网至少要容纳30台主机,如何规划?...
  8. 乐鑫ESP-IDF开发环境搭建之2022新版
  9. 对象.和对象[]有什么区别
  10. 铅酸蓄电池三阶simulink仿真模型,可获得蓄电池充放电特性,并提供数学模型相关文献和多组电池模型参数。