当前位置: 首页 > news >正文

vscode构建简单编译和调试环境

一、设置环境变量
     将bin目录路径(如D:\DevTools\mingw64\bin)加入系统环境变量PATH‌34


二、VS Code插件配置
  1. 核心插件安装

    • C/C++‌(微软官方扩展,提供语法高亮、智能提示)‌
    • Code Runner‌(一键编译运行,快捷键Ctrl+Alt+N)‌
  2. 可选插件

    • CMake Tools‌(管理多文件项目)‌2
    • Better C++ Syntax‌(增强代码着色)‌7

三、项目配置与调试
  1. 创建项目文件夹

    • 新建空文件夹(路径避免中文),在VS Code中通过文件→打开文件夹加载‌
  2. 配置文件生成

    • 步骤1‌:创建.vscode文件夹(自动生成配置文件)
    • 步骤2‌:按Ctrl+Shift+P输入以下命令生成配置:
      • C/C++: Edit Configurations (UI)‌ → 自动生成c_cpp_properties.json‌18
      • Tasks: Configure Task‌ → 选择g++.exe build active file生成tasks.json‌23
      • Debug: Add Configuration‌ → 选择C++ (GDB/LLDB)生成launch.json‌8
  3. 关键配置示例

    • tasks.json‌(编译配置):
      { "version": "2.0.0", "tasks": [{ "label": "Build with GCC", "type": "shell", "command": "g++", "args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],         "group": "build" }]
      }

    • launch.json‌(调试配置):
      { "version": "0.2.0", "configurations": [{ "name": "C++ Debug", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "preLaunchTask": "Build with GCC" }] 
      }

四、调试与运行
  1. 单文件调试

    • F9设置断点 → F5启动调试
    • 侧边栏查看变量、调用栈,使用控制台输入输出‌
  2. 多文件项目管理

    • 创建CMakeLists.txt文件,配置项目结构:
      cmake_minimum_required(VERSION 3.10)
      project(MyProject)
      add_executable(main main.cpp utils.cpp)
    • 使用‌CMake Tools‌插件自动生成构建配置‌

五、常见问题解决
  1. 编译错误“g++ not found”

    • 检查环境变量PATH是否包含MinGW的bin目录‌
    • 重启VS Code或终端使环境变量生效‌
  2. 调试时断点不生效

    • 确保编译参数包含-g(生成调试符号)
    • 检查launch.jsonpreLaunchTask是否关联正确的编译任务‌

编译工具选择MinGW-w64(或者MSYS2),总安装包体积小于500MB,支持完整的断点调试、变量监视功能‌。

相关文章:

  • 使用预训练模型的视频分类
  • [图论]Prim
  • XCZU4CG‑2SFVC784I 赛灵思 FPGA XilinxZynq UltraScale+ MPSoC
  • 新型多机器人协作运输系统,轻松应对复杂路面
  • 算法思想之分治-归并
  • 【Linux】第八章 监控和管理Linux进程
  • SpringBoot——配置文件
  • 【机器人创新创业应需明确产品定位与方向指南】
  • EMIF详解
  • RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之初始化中的u.ConnSendContext----RPC源代码分析
  • 如何简单几步使用 FFmpeg 将任何音频转为 MP3?
  • 插件架构实践
  • 0.深入探秘 Rust Web 框架 Axum
  • 基于 Django 进行 Python 开发
  • Telecom 源码分析计划
  • JUC学习(1) 线程和进程
  • SQL Server 游标介绍
  • 《MySQL:MySQL表结构的基本操作》
  • webgl入门实例-07顶点缓冲区示例
  • 什么是分库分表?
  • 王毅谈中拉命运共同体建设“五大工程”及落实举措
  • 秦洪看盘|交易新逻辑,银行股成A股稳定器
  • 工人日报:“鼠标手”被纳入职业病,劳动保障网越织越密
  • 政策一视同仁引导绿色转型,企业战略回应整齐划一?
  • 中国工程院院士、国医大师石学敏逝世
  • 巴基斯坦外长:印巴已同意立即停火