你用 Cursor 写代码多久了?
如果还在用 Cmd+K 单文件修改,那你可能只用到了 Cursor 30% 的能力。
今天聊 Composer 模式——Cursor 的多文件批量编辑功能。它能一次性改多个文件、理解整个项目结构、甚至帮你设计架构。
我用 Composer 写了一个完整的待办事项 API,从数据库设计到前端页面,不到 20 分钟。
下面从配置到实战,给你一个完整的教程。
一、Composer 是什么
Composer 是 Cursor 的多文件编辑模式。和普通 AI 对话的区别在于:
- 多文件同时修改:不用一个一个文件改,一次说清楚需求就行
- 项目级理解:能读取整个项目的文件结构,上下文更全面
- 自动规划:AI 会先分析再动手,不会改错地方
- 实时预览:每个文件的改动都实时显示,错了随时撤销
二、怎么打开 Composer
快捷键:Cmd+I(Mac)或 Ctrl+I(Windows)
或者点击编辑器右侧的 Composer 图标。
打开后你会看到一个对话框,和普通的 AI 聊天窗口不一样。Composer 会显示一个文件树,告诉你它要改哪些文件、改什么。
三、基础用法:一句话生成完整功能
场景:给项目加一个用户登录功能
普通模式:你得一个一个文件改——后端路由、数据库模型、前端页面、认证逻辑。
Composer 模式:直接说需求。
帮我加一个用户登录功能。
- 后端用 Express + JWT
- 前端用 React + localStorage 存 token
- 登录页要有邮箱和密码输入
- 登录成功后跳转到首页
- 没登录时访问首页自动跳转登录页
按 Enter,Composer 开始工作了。
它会先分析项目结构,然后:
- 创建数据库模型文件
- 编写后端登录路由
- 创建前端登录页面
- 配置路由守卫
全部搞定后,你会看到一个改动预览:每个文件改了什么、加了什么,一目了然。
四、高级用法:@ 引用控制范围
Composer 不只是"扔需求",你可以精准控制它改什么。
用法 1:@Code 引用代码块
选中一段代码,然后输入 @Code。AI 会基于这段代码的上下文来修改。
比如你选了一个 API 路由文件,然后说"@Code 把这个接口改成支持分页",AI 就知道只改这个路由,不会乱动别的文件。
用法 2:@File 引用整个文件
在对话框输入 @,然后搜索文件名。引用整个文件后,AI 会读取完整内容作为上下文。
用法 3:@Folder 引用整个目录
输入 @Folder,选择目录。适合让 AI 理解某个模块的结构。
用法 4:@Terminal 引用终端输出
遇到报错时,输入 @Terminal。AI 能看到终端的错误信息,给出更精准的修复建议。
五、实战:用 Composer 搭建一个完整 API
项目背景:我有一个 Node.js Express 项目,现在要加一个待办事项 API。
第 1 步:规划阶段
打开 Composer,先让 AI 分析项目结构:
先帮我看看这个项目结构,告诉我:
1. 用了哪些依赖
2. 文件是怎么组织的
3. 有没有现成的数据库连接
AI 会列出项目结构,告诉你哪些文件存在、哪些需要新建。
第 2 步:设计数据库
基于项目结构,帮我设计一个待办事项的数据库表。
字段:id、title、description、completed、createdAt、updatedAt
用 SQLite 作为数据库,用 Sequelize 作为 ORM。
AI 会生成模型文件,包括建表语句和 CRUD 方法。
第 3 步:编写 API 路由
基于上面的模型,帮我写待办事项的 CRUD 路由。
- GET /api/todos 查询全部
- POST /api/todos 创建
- PUT /api/todos/:id 更新
- DELETE /api/todos/:id 删除
- GET /api/todos/completed 查询已完成的
AI 会生成路由文件,包括参数校验和错误处理。
第 4 步:整合测试
帮我在 routes/index.js 里注册这些路由,然后跑一下测试看看有没有报错。
AI 会修改路由注册文件,执行测试,修复报错。
第 5 步:优化
给查询接口加分页支持,每页默认 10 条。
给创建接口加 title 必填校验。
AI 会自动修改相关文件。
六、避坑指南
坑 1:需求描述太模糊
❌ “帮我加个功能” ✅ “帮我加一个用户登录功能,后端用 Express + JWT,前端用 React”
需求越具体,AI 改得越准。
坑 2:忽略改动预览
Composer 会在执行前显示所有改动。一定要先看清楚再确认,别直接点 Apply。
坑 3:一次改太多
虽然 Composer 能同时改多个文件,但建议一次只做一个功能。改多了容易出错,而且不好调试。
坑 4:不检查生成的代码
AI 生成的代码能跑,但不一定最优。特别是数据库查询和权限控制,一定要手动检查。
七、和 @Code 的配合使用
Composer 和 @Code 可以配合使用,实现精准修改。
比如你想修改某个特定模块的代码:
- 选中那段代码
- 按
Cmd+K调出行内编辑 - 输入 @Code 锁定上下文
- 描述你要怎么改
这样 AI 只会改你选中的范围,不会影响其他文件。
八、总结
Composer 模式的核心价值:
- 省时间:一个需求改多个文件,不用来回切换
- 上下文准:AI 能看到整个项目,不会改错地方
- 可撤销:每次改动都有预览,错了随时回退
从单文件编辑到多文件批量修改,Composer 是 Cursor 最核心的效率武器。
你平时用 Composer 做过什么?评论区聊聊。