新闻中心
在VSCode中配置和运行Makefile项目
VSCode中配置Makefile项目需四步:确保系统安装make及编译器;用Open Folder打开含Makefile的根目录;通过tasks.json定义make任务并启用problemMatcher;可选配launch.json调试带-g编译的可执行文件。

在 VSCode 中配置和运行 Makefile 项目并不复杂,关键是让编辑器能识别 make 命令、正确调用构建流程,并方便查看输出和错误。下面分几步说清楚怎么做。
确保系统已安装 make 和编译工具链
VSCode 本身不提供构建能力,它只是调用你系统里的工具。所以第一步是确认终端里能直接运行 make:
- Linux/macOS:通常自带
make,检查运行make --version - Windows:推荐安装 MSYS2 或 Chocolatey +
choco install make,避免仅靠 Git Bash(部分版本不兼容) - 同时确认
gcc、g++等编译器可用(根据项目需要)
在 VSCode 中打开项目根目录
Makefile 一般放在项目最外层(和源码同级),VSCode 需要从这个目录启动,否则 make 可能找不到文件:
- 不要只打开单个 .c 文件,而是用 File → Open Folder… 打开整个项目文件夹
- 确保目录下有
Makefile(或makefile),大小写敏感,VSCode 默认只认Makefile - 如果用的是自定义名称(如
Makefile.debug),后续需显式指定
配置任务(tasks.json)来运行 make
VSCode 通过 .vscode/tasks.json 定义可执行的构建命令。你可以快速生成一个基础配置:
eshop网上书店源码
适合初学的标准三层架构,采用ajax,页面布局div+css符合w3c,用vs自带的sqlserver,免配置sqlserver,使用方便,里面共有5个项目,点击最外层的.sln直接可运行。网站采用asp.net 用户角色配置(membership,UserRoles),用户角色、权限可在asp.net配置里修改,注册,登陆均采用asp.net登陆控件,网站根据用户角色自定义sitemap,基本上
0
查看详情
- 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Tasks: Configure Task → 选择 Create tasks.json file from template → 选 Others
- 替换生成的内容为以下(支持默认目标和自定义目标):
{
"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": true
},
"problemMatcher": ["$gcc"]
},
{
"label": "make clean",
"type": "shell",
"command": "make",
"args": ["clean"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": true
}
}
]
}
说明:
- "problemMatcher": ["$gcc"] 让 VSCode 解析编译错误并跳转到对应行
- "panel": "shared" 复用同一个终端,避免每次新建窗口
- 按 Ctrl+Shift+B(或 Cmd+Shift+B)可快速运行默认构建任务(需在 tasks.json 中设 "isDefault": true)
可选:添加 launch.json 调试可执行文件
如果 make 成功生成了可执行文件(比如 ./main),可以用 VSCode 的调试器运行它:
- 按 Ctrl+Shift+P 输入 Debug: Open launch.json → 选环境(如 C++ (GDB/LLDB))
- 修改
program字段指向你的输出文件,例如:"program": "${workspaceFolder}/main" - 确保编译时加了
-g(在 Makefile 里CFLAGS += -g),否则无法调试
基本上就这些。不需要插件也能跑起来,但如果你常做 C/C++ 开发,可以顺手装 C/C++(Microsoft 官方)扩展,它会自动补全、语法高亮、还能增强 problemMatcher 的匹配精度。
以上就是在VSCode中配置和运行Makefile项目的详细内容,更多请关注其它相关文章!
# vscode
# 最外层
# 专注于
# 如果你
# 的是
# 自带
# 网上
# 可执行文件
# 鼠标
# 让你
# 自定义
# mic
# macos
# linux
# js
# git
# json
# windows
# 工具
# mac
# ai
# c++
# win
# 关键词排名和收藏有关吗
# 寿光网站优化服务
# 格力公司营销推广活动
# 关键词自动排名怎么设置
# 亚马逊关键词手动推排名
# 客户网站新品推广方案
# 上海营销推广网站模板
# 魔贝seo分享
# 软件开发推广网站
# 股票网站建设文案小学
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统
豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售
Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】
QQ邮箱网页版邮箱入口 QQ邮箱官方登录平台
解决Django多数据库/多Schema环境下外键迁移问题
深入理解Go语言中的指针类型:以*string为例
React Hooks最佳实践:动态组件状态管理的组件化方案
C++如何实现单例模式_C++设计模式之线程安全的单例写法
Golang如何使用new_Go new分配内存机制讲解
多闪网页版在线观看免费入口_多闪官网访问入口
新三国志曹操传110级星符试炼夏侯渊极难攻略
Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略
顺丰快递查单号物流信息 顺丰快递小程序查询入口
Go语言HTML解析:利用Goquery精准获取指定元素内容
QQ邮箱网页版入口登录 QQ邮箱在线邮箱官方通道
俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口
Golang如何实现Web文件静态资源服务器_Golang静态资源服务器开发与实践
Lar*el如何正确地在控制器和模型之间分配逻辑_Lar*el代码职责分离与架构建议
蛙漫漫画官网在线入口 蛙漫全本漫画免费阅读平台
html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】
12306选座怎么选到特殊座位_12306特殊座位选择注意事项
CSS如何设置hover状态颜色_hover伪类调整背景或文字颜色
Pandas DataFrame 多条件优先级排序与排名
构建轻量级网站内部消息系统:Formspree 集成指南
2026春节假期票务安排_2026春节放假购票指南
漫画星球免费下拉式入口 漫画星球免费漫画在线阅读网站
AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南
QQ官网正版登录链接 QQ在线登录入口最新
C++编译期如何执行复杂计算_C++模板元编程(TMP)技巧与应用
Lar*el DB::listen 事件中的查询执行时间单位解析
深入理解rpy2中的类型转换:优化Python对象到R矩阵的映射
必由学登录入口 必由学官方网站在线访问链接
J*aScript中赋值与自增运算符的复杂交互与执行机制
mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析
React项目中导航栏Logo自适应布局:避免裁剪与布局溢出
从J*aScript对象中精确提取指定属性的教程
深入理解J*aScript中的B样条曲线与节点向量生成
马斯克:Optimus 人形机器人复数形式为 Optimi
sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
快手极速版在线观看 官方网页版登录地址
漫蛙Manwa2官网入口地址分享 漫蛙漫画PC版永久访问通道
QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用
如何仅使用CSS更改登录界面背景图像图标的颜色
妖精动漫免费平台 妖精动漫官网资源观看网址
C++如何操作注册表_Windows平台下C++读写注册表的API函数详解
Excel Power Pivot如何处理XML数据源 构建高级数据模型
Win10系统怎么查看已安装更新_Win10卸载有问题的更新补丁
css滚动动画效果怎么实现_使用Animate.css滚动触发动画类
UC浏览器官网入口2025最新 UC浏览器网页版正式地址


2025-12-15
浏览次数:次
返回列表
"make all",
"type": "shell",
"command": "make",
"args": ["all"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": true
},
"problemMatcher": ["$gcc"]
},
{
"label": "make clean",
"type": "shell",
"command": "make",
"args": ["clean"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": true
}
}
]
}