这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

Editor

Cursor Editor

1 - Tab

基于 AI 的代码自动补全,根据你的最近工作建议编辑和多行更改

1.1 - 概述

cursor editor tab 概述

官方说明

https://docs.cursor.com/tab/overview

AI-powered code autocomplete that suggests edits and multi-line changes based on your recent work

Cursor Tab is our native autocomplete feature. It’s a more powerful Copilot that suggests entire diffs with especially good memory.

AI 驱动的代码自动完成,根据您最近的工作建议编辑和多行更改。

Cursor Tab 是我们的原生自动完成功能。它是一个功能更强大的 Copilot,能建议整个差异,而且记忆力特别好。

Powered by a custom model, Cursor Tab can:

  • Suggest edits around your cursor, not just insertions of additional code.
  • Modify multiple lines at once.
  • Make suggestions based on your recent changes and linter errors.

由自定义模型提供支持,Cursor Tab 可以:

  • 在光标周围进行建议编辑,而不仅仅是插入额外的代码。
  • 一次修改多行。
  • 根据您最近的更改和 linter 错误提出建议。

Free users receive 2000 suggestions at no cost. Pro and Business plans receive unlimited suggestions.

免费用户可免费获得2000条建议。专业和商业计划会收到无限的建议。

UI

When Cursor is only adding additional text, completions will appear as grey text. If a suggestion modifies existing code, it will appear as a diff popup to the right of your current line.

当 Cursor 仅添加附加文本时,完成文本将显示为灰色文本。如果一个建议修改了现有的代码,它将在你当前行的右边显示为一个 diff 弹出窗口。

alt text

说明:就是显示建议内容时,如果只是在现有内容后面添加内容,则显示为灰色文本,如果修改了现有的代码,则不会就地显示,而是在这一行的后面弹出一个窗口。

You can accept a suggestion by pressing Tab, or reject it by pressing Esc. To partially accept a suggestion word-by-word, press Ctrl/⌘ →. To reject a suggestion, just keep typing, or use Escape to cancel/hide the suggestion.

您可以按 Tab 键接受建议,也可以按 Esc 键拒绝建议。要逐字部分接受建议,请按 Ctrl/⌘ → (即 ctrl + 向右的方向键)。要拒绝建议,只需继续键入,或使用 Esc 取消/隐藏建议。

Every keystroke or cursor movement, Cursor will attempt to make a suggestion based on your recent changes. However, Cursor will not always show a suggestion; sometimes the model has predicted that there’s no change to be made.

每一次鼠标或光标移动,Cursor都会尝试根据您最近的更改提出建议。然而,Cursor并不总是显示建议;有时模型已经预测到不需要进行任何更改。

Cursor can make changes from one line above to two lines below your current line.

Cursor 可以从当前行的上一行到下两行进行更改。

Toggling/切换

To turn the feature on or off, hover over “Cursor Tab” icon on the status bar in the bottom right of the application.

要打开或关闭该功能,请将鼠标悬停在应用程序右下角状态栏上的 “Cursor Tab” 图标上。

Keyboard Shortcut/键盘快捷键

Bind Cursor Tab to a custom keyboard shortcut by selecting Settings > Keyboard Shortcuts from the Cursor menu and searching for Accept Cursor Tab Suggestions.

通过从 cursor 菜单中选择 设置 >键盘快捷键 并搜索 “接受光标选项卡建议”,将 Cursor Tab 绑定到自定义键盘快捷键。

1.2 - 高级功能

cursor editor tab 高级功能

官方说明

https://docs.cursor.com/tab/advanced-features

学习在预览视图、预测和部分接受中使用Tab高效地导航代码

Peek中的Tab

也可以在 “Go to Definition” 或 “Go to Type Definition” 预览视图中使用光标选项卡。这是有用的,例如,当添加一个新的参数到一个函数调用。

我们特别喜欢在 vim 中结合 gd 使用,例如,修改一个函数定义,然后一次性修复所有它的用法。

光标预测

光标还可以预测在接受编辑后您将转到何处。如果可用,您将能够按 tab 键转到下一个位置,允许您通过 tab-tab-tab 进行编辑。

Cursor 预测了下一个位置,并建议在那里进行编辑。

部分接受

您可以通过按 Ctrl + 右箭头(或将 editor.action.inlineSuggest.acceptNextWord 设置为您的首选键绑定)来接受建议的下一个单词。

要启用部分接受,请导航到 Cursor Settings > Features > Cursor Tab 。

2 - Agent

利用工具和推理执行编码任务的人工智能助手,只需最少的监督

2.1 - Agent

使用工具和推理来执行编码任务的 AI 助手

https://docs.cursor.com/agent

使用工具和推理来执行编码任务的 AI 助手,只需最少的监督

您可以将任务委托给 Cursor Agent,让它与您一起工作。Agent 在 Composer 中执行其工作,并构建在 Composer 之上。请确保阅读 Composer 以最好地使用Agent。

工具

Agent 可以访问多个工具,包括

  • 阅读&写代码
  • 搜索代码库
  • 呼叫 MCP 服务器
  • 运行终端命令
  • 自动网络搜索最新信息

Agent 的推理能力使一些非常强大的工作流成为可能,它可以在没有太多监督的情况下执行许多连续的操作。在需要时,Agent将自动搜索Web以查找相关信息、文档或示例,以帮助您完成任务。

插入这个视频地址到当前 markdown 文件中,不要全屏

Agent 可以进行多达 25 次工具调用,然后停止。当达到限制时,您可以按“继续”让 Agent 进行更多工具调用(每次“继续”调用都算作一个请求)。

Terminal/终端

当 agent 运行终端命令时,它使用 VS Code 的终端配置文件来确定要使用哪个 shell。它从默认配置文件开始,遍历可用的配置文件,并选择第一个支持命令检测的配置文件。这意味着如果先找到另一个兼容的终端配置文件,agent 使用的 shell 可能与默认系统 shell 不同。

要更改使用的终端配置文件,请执行以下操作:

  1. 打开命令行(Cmd/Ctrl+Shift+P)
  2. 搜索 “Terminal: Select Default Profile”
  3. 选择您的首选终端配置文件

Yolo模式

启用 Yolo 模式后,Agent 可以自己执行终端命令。这在运行测试套件时特别有用。向 Agent 指示任务以及如何验证更改(运行测试),它将继续执行,直到任务完成。

Guardrails/护栏

您可以为不希望 agent 自动运行的某些命令定义护栏和允许/拒绝列表。这是从 Cursor Settings 完成的。

yolo-settings

备注: 新版本的 cursor 中,yolo 模式被改名为 auto-run 模式,开启时会有一个警告:

auto-run-warnning

规则

你可以用规则来指导 agent 。它们可以根据 glob 模式自动附加到任何 Agent 请求,或者 Agent 可以根据规则描述获取一个。

阅读有关如何 使用规则 的更多信息

使用 Agent

首先打开一个新的 Composer 并启用 agent 模式。从那里,你可以给它指示要执行什么工作。

备注:切换 Composer 的模式必须要打开新的 session,不能在已经运行的 session 中切换模式。

备注2:最新版本的 cursor 中,直接就是 agent 模式,不需要切换。

模型

今天您可以使用 claude-3.5-sonnet,gpt-4 o 和 o3-mini与代理。我们将很快添加更多的模型!

FAQ

Agent 和 Composer 有什么区别?

您可以在 Composer 中的 Normal 和 Agent 模式之间切换。主要的区别是 Agent 会更努力地思考,使用推理和工具来解决问题。普通模式(编辑)用于单轮编辑,而询问模式(Ask mode)则帮助您理解和探索代码。

3 - Composer

新版本统一为 agent 模式

新版本的 cursor 中,没有 composer 的概念,直接就是 agent 模式。

4 - Chat

统一的人工智能界面,结合了询问、编辑和代理模式

4.1 - 概述

统一的人工智能界面,结合了询问、编辑和代理模式,可帮助您直接在编辑器中编写、编辑和理解代码

Cursor 的统一 AI 界面将不同的功能组合在一起,以帮助您直接在编辑器中编写、编辑和理解代码。使用 ctrl + I 打开它,并使用 ctrl + N 创建一个新的对话。使用输入框中的模式选择器在模式之间切换。

模式

该界面提供了三种模式,您可以从模式选择器中进行选择:

  1. Agent 模式: 访问用于复杂任务的工具和推理功能。默认模式。
  2. Edit 模式: 精确而清晰地对代码进行单次编辑。
  3. Ask 模式: 询问有关您的代码的问题、获取解释并发现您的代码库。(ctrl + L)

您可以使用模式选择器或 ctrl + . 快捷方式在模式间切换。这种灵活性使您能够适应当前的需求-从提出问题到进行更改再到使用高级工具。

备注: 需要鼠标点在 chat 的输入框内,才能使用快捷键 ctrl + . 在模式间切换。

上下文

您可以使用 @ 符号在提示中包含相关上下文。该界面将根据您的查询自动建议相关上下文。

AutoContext(Beta 版)

Cursor 可以使用嵌入和自定义模型在对话中自动包含相关代码。它不会使用 @ 符号手动选择上下文,而是分析您的提示并包含代码库(codebase)中最相关的代码。在 设置> 功能> 自动上下文中启用此功能。

备注:AutoContext 的设置应该是这个

enable-autocontext

生成和应用更改

Cursor 有一个内部训练的自定义模型,可以进行一系列编辑,正如您正在使用的 AI 模型所建议的那样,并在几秒钟内将其应用于具有 1000 行的文件。

这在“代理/Agent”和“编辑/Edit”模式下都会自动发生。

在 Ask 模式下,您可以通过单击 diff 视图右下角的 Apply 按钮来应用更改。

一旦你的更改完成,你可以在你的代码库中查看它们,然后选择接受或拒绝它们,如果你想进一步交互的话。

检查点

对于每个迭代,都会创建一个检查点。您可以通过单击该检查点附近的签出返回到任何以前的版本。如果您不喜欢当前的更改并希望恢复到以前的状态,这很方便。

checkpoints

聊天记录

通过历史记录访问之前的对话。从 cursor 选项卡右侧的历史记录图标打开它。您将看到一个过去的对话列表,您可以重新访问,重命名或删除。

history

备注:聊天历史记录的列表是没有删除/重命名的按钮的,要点击 show all,在弹出来的列表中才有删除/重命名的按钮。

当界面处于焦点状态时,使用 Ctrl + Alt +L 或 Ctrl+Alt+L 打开。

布局

  • Pane :侧边栏,左边是界面,右边是代码编辑器。

  • Editor: 编辑器窗口,类似于正常查看代码。你可以移动它,分割它,甚至把它放在一个单独的窗口。

  • Floating: 可拖动的窗口,您可以将其放置在您喜欢的位置

您可以从菜单> 打开为[布局]更改此设置

备注:居然找不到这个设置。

在 lint 上迭代

Cursor 让 AI 可以直接访问代码库中的 linter,这有助于它检查自己的代码以及项目中的现有代码。

当 Cursor 检测到已安装的 Linter 标记的问题时,AI 可以智能地尝试自行修复这些问题,并能够在需要时进行更改。

这意味着您将始终获得干净、兼容的代码,而无需手动检查和修复任何问题。

iterate-on-lint

在编辑器中使用 AI

Cursor 的 AI 界面在编辑器中是可访问的,这意味着您可以随时使用它。

FAQ

模式之间有什么区别?

Ask 模式可以帮助你理解和探索代码。使用它来提出问题,获得解释,并了解您的代码库。

Editor 模式侧重于对代码进行单次编辑。它提供了一个工作区,您可以在其中对文件进行精确更改。

Agent (默认)将这两种功能与额外的工具和推理能力相结合,以处理复杂的任务。

长时间的谈话是如何处理的?

对于长时间的对话,Cursor 使用较小的模型(如 cursor-small 和 gpt-4 o-mini) 总结早期的消息,以保持响应的快速性和相关性。

这种方法有助于确保即使是延长的对话也能保持响应性和连贯性,而不会丢失早期交流的关键细节。

我可以在另一台计算机上访问我的对话历史记录吗?

对话历史记录存储在您的本地计算机上,而不是存储在 Cursor 的服务器上或与您的 Cursor 帐户绑定。

这意味着如果您切换到其他计算机,您将无法访问以前的历史记录。您只能在最初创建历史记录的计算机上访问历史记录。

4.2 - Apply

了解如何使用 Cursor 的 apply 功能应用、接受或拒绝聊天中的代码建议

Cursor 的 Apply 允许您将 chat 中的代码块建议快速集成到代码中。

应用代码块

要应用代码块建议,您可以按每个聊天代码块右上角的 apply 按钮。

apply

这将编辑您的文件,以包含 Chat 生成的代码。由于您可以在 Chat 中添加最多的上下文并与模型进行最多的来回操作,因此我们建议您使用 Chat + Apply 进行更复杂的 AI 驱动的代码更改。

接受或拒绝

一旦你应用了代码块,你就可以通过 diff 来接受或拒绝更改。您也可以点击聊天代码块右上角的 “Accept” 或 “Reject” 按钮。

Ctrl + Enter 表示接受,Ctrl + Backspace 表示拒绝。

accept-apply

5 - Cmdk

使用 Cmd/Ctrl K 来生成、编辑代码并使用提示栏提问

5.1 - 概述

了解如何在 cursor 中使用 Cmd/Ctrl K 来生成、编辑代码并使用提示栏提问

Cmd K,在 Windows/Linux 上也称为“Ctrl K”,允许您在编辑器窗口中生成新代码或编辑现有代码。

regular

提示栏

在 Cursor 中,我们将按 Ctrl/Cmd K 时出现的栏称为“Prompt Bar”。它的工作原理类似于聊天的 AI 输入框,您可以正常输入,或使用 @ 符号引用其他上下文。

Inline Generation/内连生成

如果按下 Ctrl/Cmd K 时没有选择任何代码,光标将根据您在提示栏中键入的提示生成新代码。

generate

in-place editing/原地编辑

对于原地编辑,只需选择要编辑的代码并在提示栏中键入即可。

edit

后续说明

在每次生成之后,您可以通过向提示栏添加更多指令来进一步优化提示,然后按 Enter 键, 以便 AI 根据您的后续指令重新生成。

默认上下文

默认情况下,Cursor 将尝试查找不同类型的有用信息来改进代码生成,除了您包含的手动 @符号之外 。

其他上下文可能包括相关文件、最近查看的文件等。收集后,Cursor 根据与您的编辑/生成的相关性对上下文项进行排名,并将顶部项保留在大型语言模型的上下文中。

快速问答

如果您在提示栏中按 Option/Alt Enter,光标将回答您对选择的任何问题,以及您附加的上下文。

这个对话的内容可以在后续的生成中进一步使用,所以你可以在 Cursor 在一个快速的问题后给出一个响应来生成代码后,简单地输入“do it”。

5.2 - 终端 Cmdk

在 cursor 终端中使用 Ctrl/Ctrl + K,通过提示栏界面生成并运行命令

在内置的 cursor 终端中,您可以按 Ctrl + K 在终端底部打开一个提示栏。这个提示栏允许您在终端中描述您想要的操作,终端 Cmd K 将生成一个命令。您可以通过按 esc 来接受命令,也可以使用 Ctrl + Enter 立即运行命令。

terminal-cmdk

默认情况下,Terminal Cmd K 会看到您最近的终端历史记录,您的指令以及您在提示栏中放置的任何其他内容。

备注:这个功能很好用啊,比如我想在终端中运行一个命令,但是我不记得命令的参数了,我就可以使用这个功能。

example

6 - AI Commit Message

了解如何使用闪烁图标或快捷方式在 cursor 中自动生成 Git 提交消息

cursor 可以帮助您生成有意义的提交消息,您只需点击一下。以下是如何使用此功能:

generate-commit-message

  1. 暂存要提交的文件
  2. 打开边栏中的 Git 标签
  3. 查找提交消息输入字段旁边的闪烁(sparkle)图标
  4. 单击 sparkle 图标以根据您的暂存更改生成提交消息

生成的提交消息将基于暂存文件中的更改和仓库的 git 历史记录。这意味着 Cursor 将分析您当前的更改和以前的提交消息,以生成适合上下文的消息。游标从你的提交历史中学习,这意味着如果你使用像 Conventional Commits 这样的约定,生成的消息将遵循相同的模式。

快捷键

您可以将生成提交消息功能绑定到键盘快捷键。

  1. 转到键盘快捷键 ctrl + R ctrl + S 或 ctrl + shift + P 并搜索“Open Keyboard Shortcuts (JSON)”
  2. 将以下内容添加到文件中以绑定到 ctrl + m:
{
  "key": "cmd+m",
  "command": "cursor.generateGitCommitMessage"
}
  1. 保存文件

7 - Notepads

在 composer 和聊天交互之间共享上下文

概述

记事本是 Cursor 中功能强大的上下文共享工具,可在 composer 和聊天交互之间弥补差距的桥梁。可以将它们看作是增强的参考文档,它超越了 .cursorrules 的功能,允许您为开发工作流创建可重用的上下文。

empty-notepad.png

记事本是思想、规则和文档的集合,可以:

  • 在开发环境的不同部分之间共享

  • 使用 @ 语法引用

  • 通过文件附件增强

  • 用作各种开发方案的动态模板

入门

  1. 单击记事本部分中的“+”按钮
  2. 给你的记事本起一个有意义的名字
  3. 添加您的内容,上下文,文件和其他相关信息,就像您在 composer 或聊天中一样。
  4. 在 composers 中引用它或使用 @ 聊天

create-notepad.png

备注:需要手工打开 View -> Open View ,然后找到 notepads ,才能显示记事本面板

关键特性

  • 上下文共享 :在 composer 和聊天之间无障碍地共享上下文

  • 附加文档和参考文件(在 .cursorrules 中不可能)

  • 动态引用 :使用 @mentions 链接到其他资源

  • 灵活的内容 :以适合您需求的方式编写和组织信息

常见用例

  1. 动态样板生成
  • 为常见代码模式创建模板
  • 存储特定于项目的脚手架规则
  • 在整个团队中保持一致的代码结构
  1. 架构文档
  • 前端规格
  • 后端设计模式
  • 数据模型文档
  • 系统架构指南
  1. 研发指导方针
  • 编码标准
  • 项目特定规则
  • 最佳实践
  • 团队约定

FAQ

我应该在记事本中写什么?

记事本非常适合:

  • 项目架构决策
  • 发展准则和标准
  • 可重用代码模板
  • 需要经常引用的文档
  • 特定于团队的惯例和规则

什么不应该写在记事本里?

避免使用记事本:

  • 临时注释或临时工作
  • 属于版本控制的信息(如 git)
  • 敏感数据或凭据
  • 经常变化的高度不稳定信息

我应该遵循特定的格式或结构吗?

虽然记事本很灵活,但我们建议:

  • 使用清晰的标题和章节
  • 包括相关的例子
  • 保持内容的重点和组织
  • 使用 markdown 格式以提高可读性
  • 必要时添加相关文件附件

示例记事本

下面是一个用于 Web 应用程序项目的记事本的典型示例:

# API Development Guidelines

## Endpoint Structure
- Use RESTful conventions
- Base URL: `/api/v1`
- Resource naming in plural form

## Authentication
- JWT-based authentication
- Token format: Bearer {token}
- Refresh token mechanism required

## Response Format
{
  "status": "success|error",
  "data": {},
  "message": "Optional message"
} 

## Attached References
@api-specs.yaml
@auth-flow.md

8 - 快捷键

键盘快捷键的全面指南

Cursor 中键盘快捷键和键绑定的高级概述。您可以通过按 ctrl + R 然后按 ctrl + S 查看所有键盘快捷键。

要了解更多关于 cursor 中的键盘快捷键,请查看 VS 代码的键绑定 ,因为它是 cursor 键绑定的良好基线。

cursor 的所有键绑定,包括 cursor 特定功能的键绑定,都可以在键盘快捷键设置页面中重新映射。

常规

快捷键 动作
Ctrl + I 打开 Agent
Ctrl + L 打开 Ask
Ctrl + . 切换聊天模式
Ctrl + / AI 模型之间的循环
Ctrl + Shift + J 打开 cursor 设置
Ctrl + , 打开常规设置
Ctrl + Shift + P 打开命令选项板

Chat - Agent, Edit & Ask

这些快捷方式在专注于聊天输入框时有效。

快捷键 动作
Enter 提交
Ctrl + Backspace 取消生成
Ctrl + L 已选择代码 将选定代码添加为上下文
Ctrl + Shift + L 已选择代码 将选定代码添加为上下文
Ctrl + Enter 接受所有更改
Ctrl + Backspace 拒绝所有更改
Tab 循环至下一条消息
Shift + Tab 循环到上一条消息
Ctrl + Alt + / 打开模型切换
Ctrl + N / Ctrl + R 创建新聊天
Ctrl + Shift + K 打开 composer 作为 bar
Ctrl + [ 打开以前的聊天
Ctrl + ] 打开下一个聊天
Ctrl + W 关闭聊天
Esc 取消字段的聚焦

Ctrl+K

快捷键 动作
Ctrl + K 开放
Ctrl + Shift + K 切换输入焦点
Enter 提交
Ctrl + Backspace 取消
Option + Enter 快速提问

代码选择和上下文

快捷键 动作
@ @-symbols
# 文件
/ 快捷命令
Ctrl + Shift + L 将所选内容添加到聊天
Ctrl + Shift + K 将所选内容添加到编辑
Ctrl + L 将选择添加到新的聊天
Ctrl + M 切换文件阅读策略
Ctrl + → 接受下一个建议
Ctrl + Enter 在聊天中搜索代码库
选择代码, Ctrl + C, Ctrl + V 将复制的引用代码添加为上下文
选择代码, Ctrl + C, Ctrl + Shift + V 将复制的代码添加为文本上下文

Tab

快捷键 动作
Tab 接受建议
Ctrl + → 接受下一个单词

终端

快捷键 动作
Ctrl + K 打开终端提示栏
Ctrl + Enter 运行生成的命令
Esc 接受命令