Cursor 为何远远甩开了其他 AI 编码助手
为什么是 Cursor
无缝从 VSCode 迁移,无限免费试用等。
AI Engineer World’s Fair 2024 ,OpenAI 的工程师用的也是 Cursor 1
注册帐号
注册 Cursor 可以获得 15 days Pro Trial 。 Pro 用户每月可以使用 GPT-4, GPT-4o (OpenAI), and Claude 3.5 Sonnet 高级模型500次
注册技巧
方法一
直接删除到期的帐号, 打开 Settings | Cursor - The AI-first Code Editor ,找到 Delete Account
方法二
如果用 gmail 邮箱,可以使用 gmail 的别名功能来注册,比如原始邮箱为 aaa@gmail.com,可以使用下面的别名邮箱来继续注册 Cursor,这些邮箱收到的邮件会自动转发的原始邮箱。
1
2
3
4
5
aaa+1@gmail.com,
aaa+2@gmail.com
删除下面两个文件,重启 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)
Web
Cursor 可根据您提供的查询和上下文构建搜索查询,并搜索网络以查找相关信息作为附加上下文。这对于查找最新信息尤其有用。这里直接使用 @https://your-link.com
也是一样的效果。
Docs
从第三方文档里获取内容
Codebase
当使用 @Codebase
是,会使用向量相似度去检索相似的代码,会比直接搜索再交给大模型汇总相关度会更高一些。
如果没有开启Codebase indexing
则会先搜索再去调用大模型。
生成 Git Commit Message
Cmd/Ctrl+L
Chat 模式 输入 @Commit
可以生成 Git Commit Message
也可以在终端执行,直接生成 commit message
生成流程图
生成流程图,然后复制到 https://mermaid.live
上渲染出来
Composer
这部分能力在 Chat 右侧有个聊天的窗口,这里可以做到之前聊天窗口的任何事情。比如重构项目,会找到相关的文件并修改,执行命令等。
参考资料
上面这些只是 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/