新闻中心

在VSCode中配置和使用Makefile

2025-12-14
浏览次数:
返回列表
VSCode配置Makefile需三步:规范命名文件以启用语法高亮;用tasks.json定义make任务实现Ctrl+Shift+B构建与错误跳转;在launch.json中设preLaunchTask自动构建并调试产物。

在 vscode 中配置和使用 makefile,核心是让编辑器能识别、运行并调试基于 make 的构建流程。不需要额外插件也能完成基础操作,但配合少量配置会更高效、更智能。

让 VSCode 认出 Makefile

VSCode 默认支持 Makefile 语法高亮和基本折叠。只要文件名是 Makefilemakefile(注意大小写),就会自动启用 Make 语言模式。如果文件叫 GNUmakefile 或其他名字(比如 Makefile.debug),可以手动切换语言模式:

  • Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)打开命令面板
  • 输入 Change Language Mode,回车
  • 选择 Makefile

也可以在工作区设置中强制关联扩展名,例如在 .vscode/settings.json 中添加:

"files.associations": { "*.mk": "makefile" }

一键运行 make 命令

VSCode 内置终端可直接执行 make,但更推荐用 任务(Tasks) 实现快捷键触发、错误跳转和多目标管理。

步骤如下

  • 在项目根目录下确保存在有效的 Makefile
  • Ctrl+Shift+P → 输入 Tasks: Configure Task → 选择 Create tasks.json file from template → 选 Others
  • 替换生成的 .vscode/tasks.json 内容为:
{ "version": "2.0.0", "tasks": [ { "label": "make all", "type": "shell", "command": "make", "args": ["all"], "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared", "showReuseMessage": true, "clear": false }, "problemMatcher": { "base": "$gcc", "filePrefix": "${fileDirname}/" } } ] }

这样就能用 Ctrl+Shift+B(默认构建快捷键)运行 make all,错误信息还能点击跳转到对应源码行。

迦恩计算机资源网源码(图书销售类) 迦恩计算机资源网源码(图书销售类)

采用三层架构开发,前台集成了产品在线展示,用户注册、在线调查、在线投稿后台有类别管理\图书管理\订单管理\会员管理\配送范围管理\邮件列表\广告管理\友情链接管理等后台添加图书时自动生成缩略图和文字水印主要参考了petshop的设计架构、使用了Asp.net2.0中很多MemberShip、master等新功能后台管理地址/web/admin/ 超级管理员账号密码均为aspx1特别提示:该系统需要

迦恩计算机资源网源码(图书销售类) 0 查看详情 迦恩计算机资源网源码(图书销售类)

配合 C/C++ 扩展提升体验

如果你用 Make 编译 C/C++ 项目,安装官方 C/C++ 扩展(ms-vscode.cpptools) 后,可以进一步优化:

  • c_cpp_properties.json 中复用 Makefile 的编译参数(如 -I 头文件路径、-D 宏定义),避免重复配置
  • 通过 Makefile 生成 compile_commands.json(很多项目用 make compile_commands 或类似目标),然后在 C/C++ 扩展设置中指定:
    "compileCommands": "${workspaceFolder}/compile_commands.json"
  • 这样就能获得准确的代码补全、跳转、重命名和语义高亮

调试时关联 Make 构建产物

VSCode 调试器不直接运行 Makefile,但它能启动 Make 生成的可执行文件。关键是在 .vscode/launch.json 中正确指向输出程序:

  • 先确保 Makefile 里有明确的构建目标(如 target: main.o utils.o → 输出 target
  • 在 launch.json 的 configurations 中设置:
"program": "${workspaceFolder}/target",
"preLaunchTask": "make all"

这样每次按 F5 调试前,VSCode 会自动执行 make all,再启动最新生成的程序,真正实现“改完就调”。

基本上就这些。不复杂但容易忽略的是:Makefile 文件名必须规范、任务要配 problemMatcher 才能跳错误、调试前用 preLaunchTask 触发构建——这三点串起来,VSCode 就成了顺手的 Make 开发环境。

以上就是在VSCode中配置和使用Makefile的详细内容,更多请关注其它相关文章!


# 苏州网站优化推广电话  # 鼠标  # 的是  # 就会  # 是在  # 专注于  # 就能  # 白银抖音营销推广方案  # 盐城红书营销推广价格  # 图书销售  # seo如何优化放心投  # 宿州网站推广源码是多少  # 深圳龙江网站建设制作  # 北京建设注册中心网站  # 品牌营销推广预期  # 河北推广口碑营销业务  # 为什么要关注淘宝seo  # linux  # 让你  # 跳转  # 资源网  # c  # 开发环境  # win  # macos  # c++  # ai  # mac  # ppt  # windows  # json  # js  # vscode 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略  虫虫漫画精品漫画官网_虫虫漫画精品漫画官网进入精品漫画  包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售  狙击外星人小游戏开始_狙击外星人小游戏立即开始  AO3最新镜像入口 Archive of Our Own官方平台访问  拷贝漫画电脑版官网入口 拷贝漫画(PC版)在线直达  理解Python模块与全局变量的作用域管理  马斯克:Optimus 人形机器人复数形式为 Optimi  探索高级语言到C/C++的转译路径:以Go为例及内存管理策略  b站如何看历史记录_b站观看历史找回方法  《刺客信条:影》PS5 Pro和Switch 2画面对比  PrimeNG Sidebar背景色自定义指南:CSS覆盖与主题化实践  解决Python单元测试中Mock异常方法调用计数为零的问题  基于动态规划的房屋花卉种植最小成本算法详解  知音漫客正版漫画平台_知音漫客官网账号登录  微信客户端如何收红包_微信客户端接收红包使用教程  Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理  J*a编写用户注册与登录功能_掌握字符串与验证逻辑  快速CSGO开箱网站指南 CSGO开箱平台推荐  在Runstone环境中高效处理TasteDive API的JSON数据  PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程  J*aScript:在map操作中高效处理空数组  Yandex免登录网页版地址 Yandex搜索引擎官方访问入口  在J*a中如何使用BigDecimal进行高精度计算_BigDecimal类应用指南  如何在低配置电脑上搭建轻量级J*a环境_占用更小的环境选择技巧  圆通快递查询实时追踪 圆通物流包裹状态快速查看  在Go语言中利用后缀数组处理多字符串:实现高效文本匹配与自动补全  淘宝支付提示失败如何解决 淘宝支付流程优化方法  怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法  J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析  妖精漫画网页版登录入口免费_妖精漫画官网主页直接阅读漫画  网站内容防复制粘贴的实现策略与局限性  不会效仿卡普空!《铁拳》制作人澄清:不采取赛事付费|直播|  AO3网页版合集入口 Archive of Our Own同人作品浏览指南  聚水潭ERP登录页面入口 聚水潭ERP官网登录界面  iwriter统一登录平台 iwrite账号密码登录页面  漫蛙漫画网页端入口 漫蛙2官方正版漫画站点  Python实现多节点属性重叠度分析教程  AngularJS $http POST请求数据传递与Go后端接收实践  CSS子选择器:如何区分并样式化嵌套列表的子层级  LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置  蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源  Django表单提交验证失败后保持字段值不刷新  Win11怎么用U盘重装系统 Win11制作启动盘并重装系统完整教程【详解】  J*aScript中在Map循环中检测并处理空数组元素  汽车之家官方网站官网入口_汽车之家网页版直接进入  俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口  J*aScript对象创建方式_J*aScript设计模式应用  Sublime Text怎么显示空格和制表符_Sublime显示不可见字符设置 

搜索