本文最后更新于 2025-06-24,当前文章已经超过一年未更新,内容可能已经过时,请谨慎食用。

Cursor.png

什么是 Cursor

Cursor 是一个新兴的、AI 驱动的集成开发环境(IDE),专为现代软件开发而设计。它结合了传统 IDE 的功能与先进的 AI 技术,旨在提高开发者的生产力和代码质量。

Cursor IDE 的主要优势:

  • AI 辅助编码:实时代码建议和自动完成

  • 智能代码解释和重构

  • 快速上下文相关的文档查询

  • 集成的 AI 聊天功能,用于问答和问题解决

  • 现代化的用户界面和流畅的用户体验

  • 支持多种编程语言和框架

Cursor 下载安装

在 Cursor 官网 上找到对应版本下载安装即可。

‍

基本配置

安装好 Cursor 后最好做一些基本的配置。

导入 VS Code 的配置

如果你本来就有用 VS Code 的话,可以将 VS Code 的配置导入到 Cursor 里,一般在安装 Cursor 时就会有一个流程提醒你这么做,如果没有做的话可以在设置里手动导入。

​​

配置全局规则

Cursor 有两套规则,一个是在设置里的,对所有项目和对话生效,一个是在项目根目录下新建 .cursorrules,对当前项目生效。

‍

配置模型

Cursor 支持配置自己的 LLM API,目前来看 claude-3.5-sonnet 是最适合用来编程的。

如果是用的 Cursor 支持的 LLM 厂商的官方 API,直接填写 API Key 即可。

如果用的是第三方的 API,需要在 OpenAI API Key 这一栏添上自己的 Key 和 Base URL,模型名不存在的话还需要在上面的 Model Names 里添加上自定义的模型名。这里有一点需要注意,所有 claude- 开头的模型 Cursor 都会用 Anthropic 的官方接口,不会使用我们自定义的 API Base URL,所以如果要用第三方的 claude- 模型,需要将模型名改为非 claude- 开头,可以用 OneAPI 来实现。

​​

常用功能

Tab 补全

Tab 的能力和其它 IDE 一样,主要用来补全,Cursor 的 Tab 除了补全也可能修改部分代码,按 ESC 键则会拒绝补全。

Chat 生成新代码

Cursor 左侧有一个 Chat 对话框,用于和 LLM 对话,和其它的 LLM 对话框类似,我们可以让它帮忙生成代码。

​​

默认的对话框将当前文件作为上下文,但是很多的时候我们需要它关注更多的文件,可以通过这两种方式来添加文件作为上下文。

通过 @ 添加

​​

通过 + 添加

​​

比如

​​

CMD+K 修改现有代码

选中一段代码,然后按 Cmd/Ctrl+K,可以针对这部分代码给出指令让 Cursor 修改。同样也可以用 @ 在对话框里加上其它上下文。

​​

Fix Me

对于提示的代码报错,可以直接将错误转到对话框让 Cursor 帮你修复。

​​

配置 rules(.cursorrules)

Cursor 的 .cursorrules 功能为 AI 助手提供了一个定制化的 Prompt。

通过在项目的根目录放置 .cursorrules 文件,我们可以在这个文件里提供更多用与 Cursor 编辑的上下问,比如我们可以:

  1. 指定项目的技术栈

  2. 设定开发规范

  3. 引导AI的问题解决思路

  4. 创建自定义指令

这样的预设能显著提高 Curosr 生成代码的准确性和相关性,使其更好地符合项目需求。

关注公众号:架构研究社​ 回复cursor提示词​ 即可获取持续更新的 cursor针对不同框架和语言的rules,并提供rules定制化服务!

添加文档

我们自己在写代码的时候也经常会去查阅文档,特别是对接某些 API 或者使用某些库的时候,所以 Cursor 在写代码时也能添加文档用于参考。

添加文档

添加文档有两种方式,一是用 @Docs​ > Add New Doc​。

​​

另外是进入 Cursor 的设置页面手动填加。

​​

目前 Cursor 只支持添加 URL 类型的文档

我这里添加完后并没有自动索引,需要手动点一下索引,等文档前面的小红点变成绿色就可以了。

生成

然后 CMD+K @这个文档并输入你的指令就可以根据文档进行生成了。

​​

对话技巧

  • 多用 Git 保存分阶段提交可用的代码,虽然 Cursor 生成代码的能力很强,但是有时生成大量的代码被 Accept All 后容易让整个项目运行失败,建议分阶段提交代码,这样遇到问题可以回滚。

  • 一个 Cursor 窗口打开一整个项目,Cursor 默认的上下文目录就是这个目录,如果这个目录的范围太大或者太小都不利于代码生成。

  • Cursor 有时会只给出修改的部分代码,其它则忽略掉,这样在 Accept All 后会破坏已有的代码。可以在全局 rules 里写明要生成完整的代码,也可以在对话的时候强调。