Cursor 是 AI 编程工具,可以自动生成代码,提高编程效率。与其他常用的 IDE 补全工具不同, Cursor 提供更加多样化的功能,同时也需要用户掌握相关使用技巧。
.cursorrules
通过在 Cursor 中使用规则,你可以控制底层模型的行为。这些规则可以看作是对 LLM(大型语言模型)的指令或系统提示。
Cursor 提供了两种主要方式来自定义 AI 行为以满足你的需求:
项目规则
项目规则提供了一个强大而灵活的系统,可以针对特定路径进行配置。项目规则存储在 .cursor/rules 目录中,可以对项目不同部分的 AI 行为进行精细控制。
以下是项目规则的工作原理:
- 语义描述:每条规则都可以包含何时应用该规则的描述
- 文件模式匹配:使用 glob 模式来指定规则适用的文件/文件夹
- 自动附加:当引用匹配的文件时,规则可以自动包含
- 引用文件:在项目规则中使用 @file 来包含它们作为规则应用时的上下文
- 你可以使用 @file 引用规则文件,允许你将多个规则链接在一起
你可以使用命令面板(Cmd + Shift + P > New Cursor Rule)创建新规则。使用项目规则的好处是它只是一个文件,因此可以进行版本控制。
使用场景示例:
- 特定文件类型的框架规则(例如,.tsx 文件的 SolidJS 偏好)
- 自动生成文件的特殊处理(例如,.proto 文件)
- 自定义 UI 开发模式
- 特定文件夹的代码风格和架构偏好
全局规则
全局规则可以通过修改 Cursor 设置 > 通用 > AI 规则部分来添加。如果你想指定在每个项目中都应该包含的规则(如输出语言、响应长度等),这将非常有用。
可参考 https://cursor.directory/ 获取配置
Composer
Composer 是 Cursor 区别于其他 IDE 的最核心功能。它提供了三种不同的交互模式:
Agent 模式 (⌘I)
这是默认模式,提供了工具和推理能力来处理复杂的任务。Agent 模式可以理解上下文并执行多步骤的操作。
Edit 模式
专注于对代码进行精确和清晰的单次编辑。这种模式适合快速修改和重构代码。
Ask 模式 (⌘L)
用于询问关于代码的问题,获取解释说明,以及探索代码库。这种模式非常适合学习和理解代码。
这三种模式可以通过模式选择器进行切换,让你能够根据不同的需求选择最合适的交互方式。
你可以用 @ 符号将文件、目录、代码片段作为上下文引用。也可以用来引用搜索等外部工具。
Checkpoints
每次迭代都会创建一个检查点。你可以通过点击检查点旁边的 checkout 按钮返回到任何之前的版本。如果你不喜欢当前的更改并想恢复到之前的状态,这个功能会很有用。
快捷键
- ⌘I: 切换到 Agent 模式
- ⌘L: 切换到 Ask 模式
- ⌘K: 快速提示
完整列表 https://docs.cursor.com/kbd
MCP
模型上下文协议(MCP)是一个开放协议,它标准化了应用程序如何向 LLM 提供上下文和工具。你可以将 MCP 理解为 Cursor 的插件系统 - 它允许你通过标准化接口将 Agent 连接到各种数据源和工具,从而扩展其功能。
现时最多允许添加 40 个 tools。