Cursor ⌘K 内联编辑
免责声明:本文档是 Cursor 官方文档中的 ⌘K 功能页面的第三方非官方中文翻译,仅供学习参考。内容可能不完全反映最新的官方信息,请以 Cursor 官方文档 为准。所有商标和版权归 Cursor/Anysphere 公司所有。
本文档介绍如何使用 Cursor 中的 ⌘K(在 Windows/Linux 上为 Ctrl+K)功能生成、编辑代码和使用提示栏询问问题。
概述
⌘K(在 Windows/Linux 上为 Ctrl+K)功能允许您在编辑器窗口中生成新代码或编辑现有代码。与 Ask 功能不同,⌘K 是设计用于直接在代码编辑区域内工作的内联 AI 工具。
提示栏
在 Cursor 中,当您按下 Ctrl/⌘+K
时出现的栏被称为"提示栏"(Prompt Bar)。它的工作方式类似于聊天的 AI 输入框,您可以在其中正常输入,或使用 @ 符号引用其他上下文。
提示栏是一个轻量级的界面,专为快速代码生成和编辑而设计,直接在您的编辑环境中工作,无需切换到单独的对话窗口。
内联生成
如果在按下 Ctrl/⌘+K
时没有选择任何代码,Cursor 将根据您在提示栏中输入的提示生成新代码。这对于以下场景特别有用:
- 在当前位置快速生成新函数或方法
- 添加新的代码模块或组件
- 生成数据结构或配置代码
- 基于自然语言描述实现新功能
生成的代码将直接插入到光标所在的位置,成为文件的一部分。
内联编辑
对于就地编辑,只需选择要编辑的代码,然后在提示栏中输入您的指令。这样,您可以:
- 重构或优化选定的代码
- 添加错误处理或日志记录
- 修复错误或调整逻辑
- 改进代码风格或格式
- 将一种编程语言转换为另一种
内联编辑功能可以理解您选择的代码上下文,并根据您的自然语言指令进行智能修改。
后续指令
在每次生成之后,您可以通过在提示栏中添加更多指令来进一步完善您的要求,然后按下 Enter
让 AI 根据您的后续指令重新生成。
这种迭代方法允许您:
- 细化或扩展初始生成的代码
- 纠正或调整 AI 的输出
- 分步骤处理复杂的代码更改
- 与 AI 进行连续对话以改进代码
后续指令会保留之前的上下文,因此 AI 可以理解您希望如何改进之前的结果。
默认上下文
默认情况下,除了您手动包含的 @ 符号引用,Cursor 会尝试查找不同类型的有用信息来改进代码生成。
额外的上下文可能包括相关文件、最近查看的文件等。收集后,Cursor 会根据与您的编辑/生成的相关性对上下文项进行排名,并为大型语言模型保留最相关的项。
这种智能上下文收集使 ⌘K 功能能够生成更相关、更集成的代码,减少了手动提供所有必要上下文的需要。
快速问答
如果您在提示栏中按下 Option/Alt+Enter
,Cursor 将回答您对选择内容及附加上下文的任何问题。
此对话的内容可以在后续生成中继续使用,所以您可以在 Cursor 回复后简单地输入"执行它"来根据快速问答的结果生成代码。
这个功能特别适合:
- 在编写或修改代码前先了解现有代码
- 询问特定实现的工作原理
- 了解最佳做法或可能的替代方案
- 在生成复杂代码前验证您的方法
使用技巧
为了充分利用 ⌘K 功能,请考虑以下技巧:
- 明确具体:提供清晰、具体的指令以获得更好的结果
- 利用选择功能:精确选择要修改的代码可以提高准确性
- 使用迭代:通过后续指令逐步完善复杂的生成或编辑
- 结合快速问答:在生成代码前使用
Option/Alt+Enter
澄清您的疑问 - 利用上下文引用:使用 @ 符号明确引用相关文件或符号
与其他功能的区别
⌘K 功能与 Cursor 的其他 AI 功能有以下区别:
- 相对于 Ask:⌘K 专注于内联代码生成和编辑,而 Ask 更适合深入的对话式问答
- 相对于 Tab:⌘K 用于完整的代码生成和复杂编辑,Tab 主要用于代码补全
- 相对于 Agent:⌘K 是轻量级的内联工具,而 Agent 提供更全面的结对编程体验
- 相对于 Composer:⌘K 主要用于单文件编辑,Composer 专门用于多文件编辑
根据您的具体需求选择最合适的工具可以显著提高编码效率。
⌘K 功能是 Cursor 中最灵活、最方便的 AI 驱动编码工具之一,它将强大的代码生成和编辑能力直接集成到您的编辑工作流程中。通过掌握这个工具,您可以显著提高编码速度,减少重复工作,并利用 AI 的能力解决复杂的编程挑战。