前言
安装 Cursor 有一段时间了,一直没有用起来,最近项目也准备探索借助AI工具提效,借此机会学习一下Cursor的基本使用。没有安装过Cursor的小伙伴可以参考之前的安装文稿:【Cursor】安装注册
Cursor版本
当前使用 Cursor 版本为 0.44.9
常用快捷键
Cursor 中有4个最常用的快捷键:
- Tab:接受自动补全内容
- Ctrl/Cmd+K:文件内聊天
- Ctrl/Cmd+L:侧边栏聊天
- Ctrl/Cmd+I:侧边栏Composer聊天,具有编辑整个项目内容的能力
代码补全
编辑代码时 Cursor 会自动检查当前语言环境,预测补全代码并使用灰色字体显示建议补全的内容
针对代码的接受和拒绝我们可以尝试使用快捷键:
- 接受提示:直接使用 Tab 键确认接受
- 拒绝提示:不接受可以使用 ESC 键拒绝
- 逐字接受:逐字部分接受建议,使用快捷键【Ctrl/Command+→】,在新版本中需要在Cursor设置的【Features】中开启选项
代码修复
鼠标悬停在问题代码上 Cursor 会给出对应修复提示,修复方式有 Fix in Composer 和 Fix in Chat 2种方式:
- Fix in Composer:在composer中进行提问,composer会修复问题并给出修复建议代码,可以选择接受或者拒绝,接受代码可以整体接受也可以局部接受,选择接受代码会直接插入文件
- Fix in Chat:在chat中进行提问,chat会给出修复问题的答案,需要手动合并代码
代码注释
选中代码块使用快捷键【Cmd+K】唤起内联聊天窗口直接输入提示词要求为代码块使用中文生成 JSDoc 规范注释
点击【Submit Edit】稍等片刻即可看到生成的代码注释
代码解释
随便找一段代码,选中代码块使用快捷键【Cmd+K】唤起内联聊天窗口输入提示词:
使用中文帮我逐行解释这段代码的作用
一开始使用的是 cursor-fast 模型效果很差,还得是 claude-3.5-sonnet,使用 cursor-fast 根本没这个效果
内容纠错
选中文本使用快捷键【Cmd+K】唤起内联聊天窗口输入提示词要求Cursor帮我们检查文本内容中的错误
可以看到Cursor帮我检查到文本内容的异常并给出了正确的修改建议
多语言翻译
选中文本使用快捷键【Cmd+K】唤起内联聊天窗口输入提示词要求Cursor帮我们把文本内容翻译成英文和繁体字版本
Cursor虽然完成了翻译任务,但是繁体字版本中文本内容的错误并没有完全纠正,只纠正对了一个"版本"
内联聊天
快捷键:Cmd + K
功能:单文件中聊天或者选中内容聊天
Cursor 支持在文件内聊天与修改内容,将光标定位到文件内,使用快捷键【Cmd + K】唤起文件内聊天面板输入提示词
如果只针对部分代码进行提问,可以选中代码块,使用快捷键【Cmd + K】唤起文件内聊天面板输入提示词进行提问
选中代码点击【Edit】或者使用快捷键【Cmd + K】唤起内联聊天窗口
运行代码 python tmp.py 看到 hello 以打字效果打印出来。
终端聊天
在终端中使用快捷键【Cmd+K】唤起聊天窗口,输出提示词,Cursor将在终端中直接填充所需的Shell指令。
Chat(侧边栏聊天)
- 快捷键:Cmd + L 或 Cmd+Shift+L\
- 功能: 以侧边栏chat形式进行代码提示、修复、解释代码等
Cursor为我们生成了对应代码,点击代码右上角的【Apply】效果如下
如需要接受代码可以手动选择接受也可以点击代码块右上角的【✔️】全部接受。接受代码后预览效果如下:
Composer
- 侧边栏快捷键:Cmd + I
- 面板快捷键:Cmd + Shift + K
- 功能:针对整个项目的跨文件理解及处理
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 侧边栏形式 | 面板形式
|
使用快捷键【Cmd + I】唤起Composer对话框,输入提示词等待Cursor回复
Composer会自动修改目标文件并提示对应的修改内容对比,可择Composer对话框上方的【Accept all】接受所有更改,【Reject all】拒绝所有更改
接受代码后,查看效果如下:
初步使用体验
项目扫描
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| |
|
- Cursor的 Chat Submit 模式无法扫描整个项目结构,Codebase 模式可以
- Cursor的 Composer 模式能够扫描整个项目的代码库,并提取出相关内容作为向大模型询问的上下文,能够充分考虑整个代码库的结构和逻辑
编程能力
- Curosr在 Claude-3.5-Sonnet 模型的加持下在上下文理解、跨文件处理及编码能力上有着不错的表现,可以满足绝大多数编码场景。
- 对代码解释、代码修复、代码纠错方面表现也是相当不错的
续写&纠错&翻译
Curosr在 Claude-3.5-Sonnet 模型的加持下对日常的内容续写、纠错和和翻译方面也有着不错的表现,但目前仍有待完善
业务场景
Curosr在业务场景的使用还有待提高,实际使用发现Cursor会在修改布局或者添加功能时覆盖原有代码功能,而不是基于现有功能代码进行更改(非实时上下文,需常用@codebase),所以在业务场景使用时最好做好稳定代码的版本管理,防止代码报废。
友情提示
本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。