{
"code-runner.executorMap": {
"c": "cd $dir && gcc $fileName -o $workspaceRoot/build/$fileNameWithoutExt && $workspaceRoot/build/$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $workspaceRoot/build/$fileNameWithoutExt && $workspaceRoot/build/$fileNameWithoutExt",
},
"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",
"list": "cpp",
"bitset": "cpp",
"cfenv": "cpp",
"charconv": "cpp",
"chrono": "cpp",
"cinttypes": "cpp",
"codecvt": "cpp",
"complex": "cpp",
"condition_variable": "cpp",
"csetjmp": "cpp",
"csignal": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cuchar": "cpp",
"forward_list": "cpp",
"unordered_set": "cpp",
"functional": "cpp",
"iterator": "cpp",
"map": "cpp",
"numeric": "cpp",
"random": "cpp",
"ratio": "cpp",
"regex": "cpp",
"set": "cpp",
"future": "cpp",
"iomanip": "cpp",
"mutex": "cpp",
"scoped_allocator": "cpp",
"shared_mutex": "cpp",
"thread": "cpp",
"typeindex": "cpp",
"valarray": "cpp",
"stack": "cpp",
"strstream": "cpp"
}
}
VsCode配置C++开发环境中的配置文件,c-cpp-properties,launch,settings,tasks
需积分: 0 8 浏览量
更新于2024-01-03
收藏 3KB ZIP 举报
在使用Visual Studio Code (VsCode) 进行C++开发时,配置文件是至关重要的,它们可以帮助我们定制编辑器的行为,实现代码的高效编写、编译和调试。本篇文章将详细解析`c_cpp_properties.json`、`launch.json`、`settings.json`以及`tasks.json`这四个关键配置文件的作用及其配置方法。
1. **c_cpp_properties.json**:
`c_cpp_properties.json`文件用于配置C/C++扩展的代码浏览和IntelliSense特性。在这个文件中,你可以定义你的项目编译路径、包含目录、头文件搜索路径、宏定义等。例如,以下配置表明编译器位于`C:\mingw64\bin`,并且指定了`include`目录:
```json
{
"configurations": [
{
"name": "Win32",
"includePath": ["${workspaceFolder}/**"],
"compilerPath": "C:/mingw64/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
]
}
```
记得根据实际的编译器路径和项目需求调整这些设置。
2. **launch.json**:
`launch.json`文件用于配置调试环境,它定义了如何启动调试会话。例如,以下配置可以设置一个调试会话,该会话将在当前活动的终端中运行程序,并捕获标准输出:
```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": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build"
}
]
}
```
其中的`preLaunchTask`属性指定了在启动调试之前执行的任务(通常是编译任务)。
3. **settings.json**:
`settings.json`文件用于全局或工作区特定的VsCode设置。你可以在此文件中调整代码格式化、自动保存、字体大小等个性化选项。例如,如果你希望VsCode在每次打开文件时自动格式化代码,可以添加以下配置:
```json
{
"editor.formatOnSave": true
}
```
根据个人习惯和团队规范,你可以自定义更多设置。
4. **tasks.json**:
`tasks.json`文件定义了VsCode的任务,包括编译、构建、清理等操作。下面是一个使用g++编译C++源文件的例子:
```json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"problemMatcher": ["$gcc"]
}
]
}
```
在这个例子中,`build`任务将当前活动的C++源文件编译为可执行文件。
以上四个配置文件是VsCode进行C++开发的核心组成部分,合理地配置它们能极大提升开发效率。请根据自己的项目需求和环境进行适当修改。如果需要使用 Mingw64 编译器,确保正确更新配置文件中的相关路径,例如`compilerPath`、`miDebuggerPath`等。

NUC_Dodamce
- 粉丝: 1912
最新资源
- 基于STC12C5A60S2单片机开发的智能电动消防小车系统_自动寻火源_灭火_返库_计时功能_声音提示_2014山西省大学生电子设计竞赛07题项目_包含出库提示音_火警报警_灭火.zip
- 基于Proteus和AT89C51单片机的多功能电子琴仿真系统设计_包含矩阵键盘输入LCD1602实时显示LED音符指示独立按键音效切换的完整电子琴模拟_用于电子音乐教学演示.zip
- 基于Swift语言开发的QQ音乐iOS客户端完整开源项目_包含音乐播放器界面_歌曲搜索功能_歌词同步显示_本地音乐管理_播放列表创建_个性化推荐系统_夜间模式切换_用户登录注册_音.zip
- 同济大学软件工程专业软件工程管理与经济课程项目基于专有大语言模型的智能文本处理平台_文本摘要生成_批量文件处理_手动编辑_多角色协作审阅_高并发性能优化_政府企业端到端解决方案_.zip
- 活动策划与执行全流程数字化管理系统_晚会会展活动策划_商品设备费用明细管理_客户供应商信息管理_业务查询与财务核算_Excel数据导入导出_宏达数据库开发平台_专为活动承办公司设计.zip
- 外贸企业全流程信息化管理系统_进出口业务管理_外贸单证处理_客户关系维护_货运代理协同_财务结算统计_风险预警提示_适用于各类外贸公司进出口业务全生命周期管理_基于宏达数据库信息管.zip
- 视频采集:开启计算机视觉类项目的首要环节 视频采集作为计算机视觉类项目的初始关键步骤 计算机视觉类项目开展的第一站:视频采集工作 做好视频采集,迈出计算机视觉类项目第一步 视频采集:计算机视觉类项目启
- 基于VictoriaFreSh和ruby-lzma的高效多进程并行压缩工具EXtremeZip_支持目录树打包解包和字节流压缩解压缩_采用CBOR作为文件格式基础_提供类似tar和.zip
- 跨平台个性化桌面壁纸管理系统_实现多终端壁纸同步与智能切换_支持Windows_macOS_iOS_Android全平台覆盖_提供海量高清壁纸资源库_包含用户个性化定制功能_具备自.zip
- 刀具管理系统_企业刀具全生命周期管理_刀具入库登记_领用申请审批_使用归还跟踪_库存预警监控_损耗统计分析_报废处理记录_供应商信息管理_员工使用记录_单位信息维护_入库统计报.zip
- 基于Linux011内核思想设计的轻量级操作系统HJTOS_包含多任务调度内存管理驱动程序文件系统等核心功能_提供完整的操作系统学习框架和开发环境_采用BochsX86虚拟.zip
- 企业级人力资源综合管理系统_人力招聘_人事档案_人事异动_薪资管理_人力开发_日常应用_员工管理_工资发放_培训管理_绩效考核_员工调动_离职管理_复职管理_奖惩登记_证照提醒_生.zip
- 无线接收设备全生命周期智能管理系统_旅游培训公司无线设备接收器发射器借用归还维修报损统计管理_提供设备借出登记归还登记维修登记设备现状报损删除借出单打印功能_支持数据与Excel导.zip
- 面向对象软件开发中23种经典设计模式的完整实现与详细解析_工厂方法模式_抽象工厂模式_建造者模式_原型模式_单例模式_适配器模式_桥接模式_组合模式_装饰模式_外观模式_享元模式_.zip
- songlan666_crmworkspace_7244_1755584871015.zip
- 车险理赔全流程智能管理系统_适用于车辆保险公司的专业理赔管理软件_包含报案录入_查勘定损_核损理算_打印设置_配件管理等核心功能_具有快速辅助录入_操作简单_高效强大的特点_基于宏.zip