Skip to content

Automatic scripts to configure C/C++ compiling environment base on ms-vscode.cpptools

Notifications You must be signed in to change notification settings

ApexGP/cpptools-autoconfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VS Code C/C++ 自动化配置工具

这个工具可以自动为 VS Code 的 ms-vscode.cpptools 插件配置 C/C++ 开发环境,包括创建必要的配置文件和测试代码。

快速开始

1. 下载项目

git clone https://github.com/ApexGP/cpptools-autoconfig.git
cd cpptools-autoconfig

2. 运行配置脚本

  • 编写.c程序

    .\setup_C.bat
  • 编写.cpp程序

    .\setup_Cpp.bat

3. 测试项目

  • 测试.c程序是否正常编译 使用 VS Code 打开 C:\Users\<用户名>\Documents\test_c 文件夹,在main.c活动窗口按 F5 即可编译运行!
  • 测试.cpp程序是否正常编译 使用 VS Code 打开 C:\Users\<用户名>\Documents\test_cpp 文件夹,在main.cpp活动窗口按 F5 即可编译运行!

详细使用方法(以setup_C.bat为例,setup_Cpp.bat同理)

1. 准备工作

确保你的系统已安装:

  • MinGW-w64 (推荐) 或其他 GCC 编译器
  • VS Code 并安装 C/C++ 扩展 (ms-vscode.cpptools)

2. 运行配置脚本

在项目根目录双击运行 .\setup_C.bat 文件,或在命令行中执行:

.\setup_C.bat

3. 脚本执行流程

脚本将自动执行以下步骤:

  1. 模板文件检查:验证必要的模板文件是否存在
  2. 智能 MinGW 路径检测
    • 优先检查环境变量 MINGW_ROOT_DIR
    • 使用 gcc -v 命令验证 GCC 可用性
    • 通过 where gcc 获取完整的 MinGW 安装路径
    • 检查常用安装路径(备用方案)
    • 如果未检测到,提示用户手动输入(支持正斜杠路径)
  3. 创建项目结构:在 C:/Users/<用户名>/Documents/test_c 目录下创建:
    code/
      ├─ .vscode/
      │     ├─ c_cpp_properties.json
      │     ├─ launch.json
      │     └─ tasks.json
      ├─ bin/
      └─ main.c
    
  4. 生成配置文件
    • 使用模板文件自动生成配置
    • 将检测到的 MinGW 路径转换为正斜杠格式
    • 替换所有配置文件中的 {{MINGW_ROOT_DIR}} 占位符
  5. 文件验证:确认所有文件都已正确生成并可访问

4. 在 VS Code 中使用

  1. 打开生成的 test_c 文件夹
  2. main.c 文件中按 F5 (笔记本按 Fn + F5) 进行编译和调试

文件说明

生成的配置文件

  • c_cpp_properties.json:C/C++ 扩展配置,包含包含路径、编译器路径等
  • launch.json:调试配置,支持 GDB 调试
  • tasks.json:构建任务配置,定义编译命令
  • main.c:测试 C 程序,包含中文输出测试
  • main.cpp:测试 C++ 程序,包含中文输出测试

模板文件

  • 项目中的 template_c/ 目录包含所有配置模板:

    • c_cpp_properties.template - C/C++ 扩展配置模板
    • launch.template - 调试配置模板
    • tasks.template - 构建任务配置模板
    • main.c.template - 测试 C 程序模板
  • 项目中的 template_cpp/ 目录包含所有配置模板:

    • c_cpp_properties.template - C/C++ 扩展配置模板
    • launch.template - 调试配置模板
    • tasks.template - 构建任务配置模板
    • main.cpp.template - 测试 C++ 程序模板

项目结构

cpptools-autoconfig/
├── setup_C.bat                # C 语言配置脚本
├── setup_Cpp.bat              # C++ 语言配置脚本
├── README.md                  # 项目文档
├── template_c/                # C 语言配置文件模板
│   ├── c_cpp_properties.template
│   ├── launch.template
│   ├── tasks.template
│   └── main.c.template
└── template_cpp/              # C++ 语言配置文件模板
    ├── c_cpp_properties.template
    ├── launch.template
    ├── tasks.template
    └── main.cpp.template

故障排除

MinGW 未检测到

如果脚本无法自动检测到 MinGW,请:

  1. 确认 MinGW 已正确安装
  2. 检查 bin 目录下是否存在 gcc.exeg++.exegdb.exe
  3. 确认 gcc 命令已在系统 PATH 中:gcc -v
  4. 确认 g++ 命令已在系统 PATH 中:g++ -v
  5. 如果以上都正常,脚本会提示手动输入路径(支持正斜杠格式)

GCC 命令无法识别

如果出现 gcc/g++ 命令无法识别的错误:

  1. 检查 MinGW 是否正确安装
  2. 将 MinGW 的 bin 目录添加到系统 PATH
  3. 或者重新安装 MinGW-w64

路径分隔符问题

如果生成的文件中仍出现反斜杠路径:

  1. 这是已知问题,已在 v1.0 版本中修复
  2. 请确保使用最新版本的 setup_C.batsetup_Cpp.bat 脚本
  3. 脚本会自动将 Windows 路径转换为正斜杠格式

终端显示乱码

如果中文提示显示异常:

  1. 确认命令提示符使用 UTF-8 编码:chcp 65001
  2. 使用支持 UTF-8 的终端(如 Windows Terminal)
  3. 脚本已针对此问题进行优化

权限问题

如果遇到权限错误,请:

  1. 以管理员身份运行命令提示符
  2. 或者将项目放在非系统目录(如桌面或用户文件夹)
  3. 检查文件夹权限设置

文件已存在提示

如果提示目标目录已存在:

  1. 脚本会询问是否覆盖现有文件
  2. 选择 Y 覆盖,或 N 取消操作
  3. 建议备份重要文件后再覆盖

已解决的问题

✅ v1.0 版本修复内容

  1. GCC 检测机制优化

    • 修复了依赖 COLLECT_GCCCOLLECT_G++ 值导致路径截断的问题
    • 改用 where gcc 直接获取完整 MinGW 安装路径
    • 确保无论 gcc 如何调用都能正确识别路径
  2. 路径分隔符标准化

    • 自动将 Windows 反斜杠路径转换为正斜杠格式
    • 确保生成的 JSON 配置文件符合 VS Code 标准
  3. 终端显示优化

    • 移除 ANSI 转义序列,避免 [94m 等字符显示
    • 使用简洁的中文提示信息,提升用户体验
  4. 检测逻辑简化

    • 优化了多层检测机制的执行顺序
    • 提高了检测速度和成功率

自定义配置

如需修改配置,可以编辑 template/ 目录下的模板文件:

  • {{MINGW_ROOT_DIR}} 替换为你的 MinGW 安装路径
  • 根据需要调整其他配置参数

技术细节

  • 脚本语言:Windows Batch (.bat)
  • 编码格式:UTF-8 (BOM)
  • 兼容性:Windows 10/11
  • 依赖工具:PowerShell (用于模板替换)
  • 检测机制:多层 MinGW 路径检测(环境变量 → gcc/g++ 验证 → where 定位 → 常用路径 → 手动输入)

版本信息

  • 当前版本: v1.0
  • 发布日期: 2025
  • 兼容系统: Windows 10/11
  • 测试环境: MinGW-w64 GCC 15.2.0

更新日志

v1.0 (最新)

  • ✅ 修复 GCC/G++ 检测机制,使用 where 命令获取完整路径
  • ✅ 优化终端显示,移除 ANSI 转义序列
  • ✅ 自动转换路径分隔符(反斜杠 → 正斜杠)
  • ✅ 改进多层检测机制,提高成功率
  • ✅ 添加完整的中文用户界面

贡献

欢迎提交 Issue 和 Pull Request 来改进这个项目!

反馈

如果您在使用过程中遇到问题或有改进建议,请:

  1. 查看故障排除章节
  2. 提交 GitHub Issue
  3. 提供详细的错误信息和系统环境

About

Automatic scripts to configure C/C++ compiling environment base on ms-vscode.cpptools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published