Cursor版本
当前使用 Cursor 版本为 0.44.9
Chat
Cursor Chat是编辑器内的智能聊天功能,可以让使用者可以代码库中提问或者解决问题。Cursor中内置多种功能,可以在Chat中提供上下文、索引文档、指定代码块引用等。
界面布局
Chat交互模式
Cursor Chat提供了 侧边栏面板 和 编辑器 2种模式
侧边栏面板模式
编辑器模式
添加上下文方式
Cursor中有多种添加上下文的方式:拖拽、快捷键、@
方式一:拖拽
方式二:使用快捷键
适合添加代码片段
方式三:使用@
添加图片
添加图片有3种方式:
- 点击image上传
- 从剪切板粘贴
- 拖拽
Composer
Composer 是 Cursor 编辑器中的一个创新功能,它使用 AI 技术来帮助开发者更高效地编写代码。它的主要特点包括:
- 多文件编辑:允许同时创建或修改多个文件
- 智能代码生成:根据自然语言指令生成代码片段
- 上下文理解:能够理解项目结构,提供合适的代码建议
- 交互优化:通过与 AI 的交互来完善代码
Composer交互模式
Cursor Composer提供了 侧边栏面板、编辑模式 和 全局面板 3种交互模式
侧边栏面板模式
直接使用快捷键【Cmd + I】打开侧边栏Chat模式
编辑模式
Composer点击更多,选项【Open Composer as Editor】
全局面板模式
如果你不喜欢Composer的侧边栏模式或者觉得Composer的侧边栏模式限制了你的发挥,可以试试Composer的全局面板模式,Composer点击更多,选项【Open Composer as Bar】或使用快捷键【Cmd + Shift + K】
Composer Checkpoint
Cursor Composer 提供了 Checkpoint 功能,类似Git的 Tag 的操作,可以方便进行版本管理回退。
如下我们让Cursor创建一个README文件
Cursor会在聊天记录顶部出现一个checkpoint记录,点击【restore】会有更改回退的提示
点击【Continue】后,聊天结果会被置灰,README文件也会被删除
再次点击灰色区域,代码会再次还原
NotePad
Notepads 是Cursor中强大的上下文共享工具,它弥合了编辑器与聊天交互之间的差距,帮助使用者在开发工作流程中创建可重复使用的上下文。
创建NotePad
Cursor最新版本 NotePad 被放到了如下位置,点击【+】进行新建,点击【铅笔】图标可以进行重命名
使用NotePad
新建完NotePad后,笔记内容可以任意指定,主要用于共享提示词内容
在Chat或者Composer模式,直接@NotePad引用上下文使用
Docs简介
Cursor 允许用户预设参考文档作为知识库并为文档生成索引方便用户快速检索,配置好 Docs 后可以在 Chat 和Composer 中通过@方式使用。
设置Docs
进入Cursor设置页面,【Cursor Settings】-> 【Features】->【Docs】-> 【Add new doc】
输入文档URL
输入名称回车
需要等待一段时间,刷新后状态变为绿色即为成功
点击查看解析索引
使用Docs
在 Chat 和 Composer 中通过 @ 使用
使用 Docs 回答问题时会在 【Docs Pages】罗列引文的链接,点击链接可查看引文原文
Bug Finder
Bug Finder 分析当前分支与 Git 远程仓库中主分支之间的代码更改
Codebase
Codebase Index
Cursor的 codebase index 功能的作用是会扫描并索引你的整个项目代码,让 Cursor 可以理解和引用你的代码库,可以基于整个项目的上下文,为你提供更准确的代码补全、错误检查和重构建议。
当你发现Codebase没有完全同步你的代码库时,你可以选择手动同步。
操作流程:进入Cursor设置页面 -> 【Features】找到【Codebase indexing】-> 点击【Resync Index】
开启 Index new folders by default 功能,意味着你的文件是会被上传到Cursor服务器进行分析的,如果你不想一些核心文件或无关文件被Cursor索引,可以将它们添加到 ignore files中,下次再介绍。
基本使用
当我们需要了解和分析整个代码仓库内容时,我们就需要Cursor对整个项目进行检索分析,直接使用 @Codebase 让Cursor帮我们分析
Codebase上下文不同步
当我们手动修改代码时,Cursor上下文中并不会包含当前最新的代码,仍然之前之前的上下文内容,当我们询问Cursor代码中是否包含"输出hello内容"时,Cursor会告诉我们没有对应内容。
我们要求codebase更新索引后,Cursor就可以准确找到对应的hello输出内容
友情提示
本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。