如果你已经熟悉了 Ctrl+L
和 Ctrl+K
,并感受到了 AI 辅助编码的便捷,那么恭喜你,你已经敲开了新世界的大门。然而,Cursor 的真正威力,隐藏在那些更深层次、更具定制性的高级功能之中。它们能将 AI 从一个“有问必答的助手”训练成一个“懂你心意的专家”。
这篇高级指南,正是为渴望将开发效率推向极致的你准备的。我们将一起探索如何通过自定义规则、终端集成和智能工作流,让 Cursor 真正成为你的编程“副驾驶”。
一、给AI立规矩:玩转自定义 Rules
这是 Cursor 最强大的功能之一。Rules
允许你为整个项目、特定语言甚至特定任务预设一套“行为准则”,让 AI 的每一次响应都严格遵循你的规范。
它能做什么?
- 统一代码风格: 强制 AI 生成的代码遵循特定的编码规范,如 PEP 8、Google Style Guide 等。
- 规范提交信息: 让 AI 自动生成符合 Conventional Commits 规范的
git commit
信息。 - 锁定技术栈: 告诉 AI 在本项目中只使用 React + TypeScript + Tailwind CSS,避免它生成 jQuery 或 Vue 的代码。
- 定义输出格式: 要求 AI 在解释代码时,总是先给总结,再分点列出细节。
如何设置?
在项目根目录下创建一个 .cursor-rules.json
文件,或者直接在 Cursor 的设置中编辑全局规则。
实战案例1:定义 Python 代码风格
{
"rules": [
{
"language": "python",
"prompt": "你是一位资深的 Python 开发者。你生成的所有代码都必须严格遵循 PEP 8 规范。对于每一个函数,都必须使用 Google 风格的文档字符串(docstring)进行中文注释,清晰地说明其功能、参数和返回值。"
}
]
}
设置此规则后,你再使用 Ctrl+K
让 AI 写一个函数,它会自动带上符合规范的格式和详尽的中文文档。
实战案例2:规范 Git Commit Message
{
"rules": [
{
"for": "commit_message",
"prompt": "你是一个 Git 提交信息生成专家。请严格遵循 Conventional Commits 规范。你的输出格式必须是 `type(scope): subject`。例如:`feat(api): add user authentication endpoint` 或 `fix(ui): correct button alignment`。只输出这条信息,不要任何多余的解释。"
}
]
}
之后,当你修改完代码,在 Cursor 的 Git 面板中点击“AI 生成 Commit 信息”按钮时,得到的就是干净、规范的提交信息。
二、打通任督二脉:用 @
符号掌控一切上下文
基础的 @file
只是开始,真正的效率来源于对多种上下文的融会贯通。
-
@Terminal
: 这是连接代码与运行环境的桥梁。你可以让 AI “看到”你终端的输出。-
场景:调试错误
- 在终端运行
npm run dev
,应用报错崩溃。 - 在聊天框输入:
@Terminal
,然后提问:“根据终端里的报错信息,帮我分析问题出在哪里,并定位到相关代码。” AI 会结合错误堆栈和你的代码库,给出精准的分析。
- 在终端运行
-
场景:执行命令
- 输入:“
@Terminal
帮我列出当前目录下所有大于 1MB 的文件。” - AI 会给出相应的命令,如
find . -type f -size +1M
,并提供一个“运行”按钮让你一键执行。
- 输入:“
-
-
@docs
: 让 AI 引入指定的官方文档作为核心知识来源。- 场景:学习新库
- 输入:
@docs(https://react.dev/)
,然后提问:“请根据 React 官方文档,解释一下useEffect
的依赖项数组是如何工作的,并给出一个避免无限循环的例子。” 这确保了 AI 的回答基于最权威的信息,而不是过时或错误的博客。
- 输入:
- 场景:学习新库
-
组合拳:融合多种上下文
- 终极场景:复杂 Bug 修复
“
@Terminal @src/payment/service.js @src/payment/api.js
终端显示了一个支付失败的错误。这两个文件是相关的核心逻辑。请结合错误信息和这两个文件的代码,分析 Bug 的根本原因,并直接在service.js
中用Ctrl+K
的方式给出修复方案。”
这种“多信息源融合”的提问方式,最能体现 Cursor 作为“副驾驶”的价值。
- 终极场景:复杂 Bug 修复
三、智能工作流:将AI融入日常开发节奏
掌握了工具,更要形成习惯。以下是两个能极大提升效率的工作流。
1. AI 驱动的重构工作流
当你面对一个庞大而复杂的“祖传”函数时:
- 第一步 (理解): 选中整个函数,
Ctrl+L
提问:“@code
解释一下这个函数的核心逻辑和主要步骤。” - 第二步 (测试):
Ctrl+K
输入:“为这个函数编写全面的单元测试,使用jest
框架。确保覆盖所有分支和边界情况。” - 第三步 (重构): 再次
Ctrl+K
输入:“将这个函数重构成多个更小、职责单一的函数。保持所有测试用例依然通过。为新函数提供清晰的命名和文档。” - 第四步 (验证): 运行 AI 生成的测试,确保一切正常。
这个流程下来,原本需要半天甚至更久的重构任务,可能在半小时内就安全、高效地完成了。
2. AI 驱动的探索式编程工作流
当你想用一个不熟悉的库或API时:
- 第一步 (探索):
Ctrl+L
并@docs(官方文档URL)
,提问:“我要用some-library
实现XX功能,请给我一个最基本的代码示例。” - 第二步 (生成): 将示例代码应用到你的文件中,然后用
Ctrl+K
根据你的具体需求进行修改:“把这里的硬编码改成从环境变量读取;增加错误处理逻辑。” - 第三步 (解释): 对 AI 生成的不懂之处,随时选中并
Ctrl+L
提问:“@code
解释一下someLibrary.init({ priority: 'high' })
这行代码的作用是什么?”
结语
从“入门”到“精通”,使用 Cursor 的关键在于思维的转变:不再将 AI 视为一个被动回答问题的搜索框,而是主动地、有策略地将其整合进你的每一个开发环节。
通过为 AI 设定规则 (Rules),为其 提供精准的上下文 (@
),并围绕它 建立高效的工作流,你将释放出远超想象的生产力。现在,就去实践这些高级技巧,把你的 Cursor 打造成最懂你的终极编码利器吧。
...