【前端必读】一、使用 Cursor 的基本功能全教程(使用与安装)
【前端必读】二、使用 Cursor 的基本功能全教程(快捷键及其他功能)
快捷键及其功能
Cursor 提供了一些快捷键来使用相应的 AI 功能:
CTRL/CMD + L:打开对话框
使用 CTRL/CMD + L 可以在编辑器右侧打开对话框(这个 L 是在 Vim 键位下的向右键,Vim 中的方向键分别是 h、j、k、l,对应于键盘上的一行,h 向左,l 向右,j 向下,k 向上。我非常喜欢这一点)。
CTRL/CMD + K:打开生成窗口
使用 CTRL/CMD + K 可以在光标上方(因为 K 代表向上!)打开生成窗口:
需要特别说明的是,当你选中一段内容后,按下 CTRL/CMD + K 键,同样可以打开相应的窗口。在这种情况下,生成的内容将基于你所选中的文本作为上下文。
CTRL/CMD + I:打开 Composer
使用 CTRL/CMD + I 可以打开 Cursor 的一项独特功能:Composer。Composer 是 Cursor 的特色功能,它允许你在一个对话窗口中同时对多个文件进行修改。
要使用 Composer,首先需要在 Cursor 的设置中启用它。你可以按照以下路径访问设置页面:File > Preferences > Cursor Settings > Features > Enable Composer。
在这里,你可以输入一个分步骤的复杂修改任务,涉及多个文件,Composer 将会同时生成所有相关文件的修改内容。不过,通常情况下,建议通过小面板界面右上角的按钮来打开 Composer 的完整界面,以便更好地进行操作。
它会清晰地在左侧列出你在对话中需要修改的文件及其具体位置,你可以直接应用相关的修改。
这正是我目前体验到的最佳 AI 辅助编程方式:你可以在一个窗口中自然地用自然语言描述需求,无需在多个窗口和文件之间切换。我觉得 Cursor 探索出了最优的交互形式。
便捷提供上下文信息的注记
为了更方便地向大语言模型提供上下文信息,Cursor 内置了不同类型的 @ 注记。使用这些 @ 注记,可以轻松地将各种上下文信息注入到你的对话中。
有些 @ 注记是通用的,可以在所有对话窗口中使用;而有些则是特定功能,我会在后续提到时进行补充说明。
注:实际上,GitHub Copilot 也有类似的功能,但不如 Cursor 完善和易用。
@ Files:传递指定代码文件的上下文
当你在对话框中输入 @Files 注记时,Cursor 会自动弹出你代码仓库的检索列表。你可以输入想要导入上下文的文件名,按下确认键后,相应文件的内容将自动注入到上下文中。
@ Code 提供更精确的代码片段。使用 @ 注记的方式类似,都会弹出相应的检索框。你只需输入关键词,然后在索引列表中选择所需的代码块即可。
代码块的识别由你开发环境的 LSP(语言服务器协议)决定,通常情况下识别的准确性较高。
@Docs 可以从函数或库的官方文档中获取上下文。
目前,它仅能从可访问的在线文档中提取信息。因此,除非你能够提供一个在线地址,否则自己编写的类似 JSDoc 的文档信息是无法被使用的。我个人认为这个功能的适用性有限。
@Web:从搜索引擎获取上下文
@Web 注记类似于一种方法,它会默认先将你的提问发送到搜索引擎,然后从搜索结果中提取上下文供 LLM 使用。然而,由于 Cursor 官方并未公开具体的实现细节,且其功能尚未完全优化,实际使用效果时好时坏。
如果你遇到问题,想要省去打开网页搜索错误信息的麻烦,或者大模型的回答无法解决你的问题,可以直接使用这个注记。
@Folders:传递文件目录信息的上下文
@Folders 注记可以提供与文件目录相关的信息。如果你遇到路径相关的问题,可以考虑使用这个注记向大模型寻求解决方案。
@Chat:仅在文件内的代码生成窗口使用
@Chat 注记只能在文件内的代码生成窗口(通过 CTRL + K 打开的窗口)中使用。它能够将你在右侧打开的对话窗口中的对话内容作为上下文传递给大模型。
@Definitions:仅在文件内的代码生成窗口使用
与 @Chat 注记类似,@Definitions 注记也只能在文件内的代码生成窗口中使用。它会将光标所在行代码涉及的变量和类型的相关定义作为上下文传递给大模型,功能类似于 @Code 注记。
@Git:仅在对话窗口使用
对话窗口是指通过 CTRL + L 和 CTRL + I 打开的窗口。@Git 注记能够将你当前 Git 仓库的 commit 历史作为上下文传递给大模型。
这个注记特别适合在代码协作时查看历史记录或进行责任确认时使用。
@Codebase:仅在对话窗口使用,用于扫描代码仓中的文件
@Codebase 注记的功能并不算太实用。与其说它是用来扫描代码仓,不如说它是从代码仓中找到你所需文件的上下文。这实际上更像是一个 CodebaseFilter。
我个人认为在日常开发中不太会用到这个注记,因为它需要设置过滤条件和参数。
它与通过 CTRL + Enter 快捷键的主要区别在于,你可以自定义查询的过滤规则。然而,我个人觉得这个功能并没有太大用处。
结语
如果你有条件充裕的话,可以试试 Cursor。
如果条件有限,也可以寻找更稳定的替代方案,也可以考虑使用一些国产的一站式 AI 平台。这些平台通常聚合了多种 AI 模型,提供更为便捷的体验。也同样有着 Claude 3.5 和 GPT-4o 等众多模型。
毕竟都是 AI 生成。只是人家嵌入到了 Cursor 内,咱们直接用 GPT,那就复制粘贴呗!
国内一站式大模型 AI 工具:https://www.nyai.chat/chat?invite=nyai_1141439&fromChannel=csdn