文章

Cursor 为何远远甩开了其他 AI 编码助手

Cursor 为何远远甩开了其他 AI 编码助手

为什么是 Cursor

无缝从 VSCode 迁移,无限免费试用等。

AI Engineer World’s Fair 2024 ,OpenAI 的工程师用的也是 Cursor 1

OpenAI 工程师|600px

注册帐号

注册 Cursor 可以获得 15 days Pro Trial 。 Pro 用户每月可以使用 GPT-4, GPT-4o (OpenAI), and Claude 3.5 Sonnet 高级模型500次

Cursor 15 days Pro Trial

注册技巧

方法一

直接删除到期的帐号, 打开 Settings | Cursor - The AI-first Code Editor ,找到 Delete Account

Cursor 15 days Pro Trial

方法二

如果用 gmail 邮箱,可以使用 gmail 的别名功能来注册,比如原始邮箱为 aaa@gmail.com,可以使用下面的别名邮箱来继续注册 Cursor,这些邮箱收到的邮件会自动转发的原始邮箱。

1
2
3
4
5
aaa+1@gmail.com,

aaa+2@gmail.com

如果遇到下面的问题 image.png 解决办法如下:

删除下面两个文件,重启 Cursor ~/Library/Application Support/Cursor 文件夹下有个 machineid 文件,删除

删除 storage.json 文件里面的 telemetry.macMachineId 或者 telemetry.machineId 文件大概位置:

  • macOS: ~/Library/Application\ Support/Cursor/User/globalStorage/storage.json
  • Windows: %APPDATA%/Cursor/User/globalStorage/storage.json
  • Linux: ~/.config/Cursor/User/globalStorage/storage.json

核心功能

不同于市面上的编程助手,Cursor 借助下面的功能和其他的AI编程助手拉开了差距。

编辑能力

这部分能力也是基本能力,对应同类工具的 Auto-Completion 自动补全,但是 Cursor 更强大一些。

多行编辑

Cursor 能够跟进当前上下文同时建议多行代码的修改,只需要按下 tab 按键,让 Cursor 帮你修改。

多行编辑

Tab 功能还会会根据你当前光标处的修改去生成多行代码补全建议,下面例子你输入了第一行的分支后,类似的其他地方也会提示你应该补充条件代码。

多行编辑

Inline Editing 内联编辑

CMD/Ctrl + K

  • 改动代码 Diff 高亮显示

  • 代码片段选择性接受

在代码编辑的提示栏使用时,Cursor会自动尝试找到有用的信息来改善代码生成,除了你手动包含的@符号外。还会有这些额外的上下文:

  • 与你当前编辑的代码相关的文件

  • 最近查看的文件

Cursor会根据与你的编辑/生成的相关性对上下文项进行排序,并保留最相关的项目作为大型语言模型的上下文。

内联编辑上下文


如果在这个窗口按下 alt/option + enter 可以回答相关问题,而不会修改代码。

智能预测

Cursor 能够智能预测你下一步的代码意图,并给出相应的代码修改建议,也只需要选择是否接受

智能预测

整个代码仓库的索引

这里会 Embedding 整个代码仓库。

可以在项目根目录下使用.cursorignore文件。其工作原理与.gitignore文件在 git 中的工作原理相同。

.cursorignore 兼容 .gitignore。如果已经有.gitignore,这些文件将被默认忽略。如果想忽略其他文件,可以将它们添加到 .cursorignore 文件中。

代码仓库索引

无处不在的@

无处不在的@

Files

CMD/Ctrl + K 对于文件的引用,如果过长,可以选择进行分块战略(Chunking Strategy)

Files引用

Web

Cursor 可根据您提供的查询和上下文构建搜索查询,并搜索网络以查找相关信息作为附加上下文。这对于查找最新信息尤其有用。这里直接使用 @https://your-link.com 也是一样的效果。

Web搜索

Docs

从第三方文档里获取内容

Docs引用

Codebase

当使用 @Codebase 是,会使用向量相似度去检索相似的代码,会比直接搜索再交给大模型汇总相关度会更高一些。

如果没有开启Codebase indexing 则会先搜索再去调用大模型。

生成 Git Commit Message

Cmd/Ctrl+L Chat 模式 输入 @Commit 可以生成 Git Commit Message

Git Commit Message

也可以在终端执行,直接生成 commit message

image.png

image.png

Cursor git commit message.gif

生成流程图

生成流程图,然后复制到 https://mermaid.live 上渲染出来

流程图生成1

流程图生成2

Composer

这部分能力在 Chat 右侧有个聊天的窗口,这里可以做到之前聊天窗口的任何事情。比如重构项目,会找到相关的文件并修改,执行命令等。 CleanShot 2024-12-01 at 09.25.41@2x.png

Cursor composer3.gif

参考资料

上面这些只是 Cursor 的一部分功能,更多的能力可以参考下面的一些资料

  • Cursor 官方文档:https://docs.cursor.com/get-started/migrate-from-vscode

  • Cursor 教程(有部分中文):https://cursor101.com/zh

  • Cursor Rules: https://github.com/PatrickJS/awesome-cursorrules
  • 无限续杯 Cursor:https://bianyujie.cn/Unlimited-use-of-the-cursor
  • https://cursor.directory/
本文由作者按照 CC BY 4.0 进行授权