1. Cursor简介
Cursor 是一款AI代码编辑器(IDE),目标是借助AI提高编码的速度和质量。
相关文档:
2. Cursor基础知识
2.1. Cursor与VSCode
Cursor 是基于 VSCode 构建的编辑器,包含 VSCode 的全部功能。
对于习惯使用 VSCode 的开发者,从 VSCode 迁移到 Cursor,几乎没有什么成本。
VSCode的活动栏默认是垂直的,Cursor 的活动栏是水平的,这是为了使AI聊天界面空间更大。
如果想要和VSCode一样使用垂直的活动栏,那么可以在 settings.json 中添加配置:
1 | { |
2.2. Cursor核心功能
Cursor的核心功能包括:
- 代码补全:理解代码库并提供基于上下文的代码补全建议
- 部分代码编辑:选中部分代码,让大模型按照需求在文件级别小范围增删改代码
- 聊天编程:在统一的AI对话界面,通过聊天让大模型在仓库级别增删改代码
3. 聊天模式
AI对话界面提供了三种聊天模式:Agent、Ask和Manual
- Agent:允许Cursor自主学习代码库,并代表用户进行代码库范围的更改
- Ask:获取有关代码库的解释和答案,并使用AI规划功能
- Manual:仅使用用户提供的上下文进行有针对性的编辑
4. 上下文说明
AI对话界面可以自行选择上下文:
- @Files:引用整个文件作为上下文。支持文件路径预览和分块处理。适用于需要引用特定文件内容时,如代码文件、文档等。
- @Folders:引用整个文件夹作为上下文。适用于需要提供大量文件作为上下文,例如项目目录。
- @Code:引用特定代码片段作为上下文。适用于需要针对特定代码片段进行查询或操作。
- @Docs:引用预设的第三方文档或自定义文档。支持添加自定义文档。适用于需要引用外部文档或自定义知识库。
- @Git:扫描 Git 提交、差异或拉取请求,帮助查找问题。适用于需要分析 Git 相关信息,如提交记录、代码差异等。
- @Past Chats:将历史聊天消息添加为上下文。适用于在聊天中需要引用之前的对话内容。
- @Cursor Rules:引用项目规则作为上下文。规则文件存储在 .cursor/rules 目录下,支持 MDC 格式,可以包含元数据和内容。适用于需要为项目提供持久化指导、编码规范或工作流程时。
- @Terminals:引用终端输出作为上下文。适用于需要分析命令执行结果、日志输出或调试信息时。
- @Web:搜索网络信息作为附加上下文。适用于需要获取最新网络信息或外部资源。
- @Recent Changes:引用最近的文件变更作为上下文。适用于需要了解最近的代码修改、文件更新或项目变动时。
5. 安装Cursor
访问 cursor.com 并点击“下载”按钮
运行安装程序并等待安装完成
通过桌面快捷方式或从应用程序菜单启动 Cursor
6. 登录Cursor
首次打开Cursor,会提示登录Cursor账号
根据提示,注册一个Cursor账号并登录
7. 使用Cursor
Cursor的核心功能可以通过快捷键调用:
- 代码补全:按下
Tab,使用智能代码补全 - 代码编辑:按下
CMD+K,使用内联代码编辑 - 聊天编程:按下
CMD+L,打开AI对话界面
7.1. 代码补全
代码补全基础用法:
- 鼠标放在代码中想要代码补全的位置
- 输入或者不输入字符,等待Cursor提示
- 当出现满意的提示时,按下
Tab
代码补全TODO引导:
- 在代码中使用注释描述清楚TODO
- 鼠标放在注释的下方,等待Cursor提示
- 当出现满意的提示时,按下
Tab
7.2. 部分代码编辑
部分代码编辑:
- 鼠标光标选中一部分代码
- 按下
CMD+K打开 Prompt Bars(提示词弹窗),输入代码需求
命令行编辑:
- 鼠标光标位于Terminal
- 按下
CMD+K打开 Prompt Bars(提示词弹窗),输入命令行需求
7.3. 聊天编程
聊天编程创建新文件:
- 新建一个空的代码文件
- 按下
CMD+L打开AI对话界面 - 对话界面中,输入需求
- 接受或者拒绝代码修改
需求示例:请编写一段python代码,连接mysql并执行 select id,username from users
聊天编程修改老文件:
- 打开一个代码文件
- 按下
CMD+L打开AI对话界面 - 对话界面中,选择本次修改涉及到的所有文件
- 对话界面中,输入需求
- 接受或者拒绝修改代码
需求示例:请改为使用pymysql
8. Cursor安全注意事项
- 在使用Cursor开发的代码仓库中,不要使用明文账密,避免账密被携带提交给大模型
- 使用npm软件包时注意安全,比如 sw-cur 、sw-cur1 和 aiide-cur 这三个包都是被标记的恶意软件。参考文档3200+ Cursor 用户被恶意“劫持”!贪图“便宜API”却惨遭收割, AI 开发者们要小心了
9. Cursor远程连接Linux主机
Cursor连接Linux主机,与VSCode方法相同。
如果报错:无法与 “xxx” 建立连接: 未能下载VSCode服务器(Server returned 404).
解决办法:安装使用 1.0.0 版本的Anysphere Remote SSH插件。