创建新文档

您的文档标题(将显示为 H1)
URL 友好名称(无空格,使用连字符)
创建文档的路径(可选,使用正斜杠创建子目录)

移动/重命名文档

文档的当前位置
文档的新路径(包括别名)
这只会更改文档的路径,不会修改文档的标题(H1 标题)。

删除文档

您确定要删除此文档吗?此操作无法撤销。

警告:如果这是一个文件夹,包括子文件夹和文档在内的所有内容将被删除。

Message

Message content goes here.

Confirm Action

Are you sure?

附件

允许的文件类型:jpg, jpeg, png, gif, svg, webp, txt, log, csv, sfd, zip, pdf, docx, xlsx, pptx, mp4(最大:50MB)

文档文件

正在加载附件...

文档历史

以前的版本

Loading versions...

预览

选择要预览的版本

Wiki 设置

用户界面语言
每个文档保留的版本数量。设置为0以禁用版本控制。
上传文件的最大允许大小(MB)。

用户管理

添加新用户

留空以保持当前密码
拥有这些组的用户可以访问受限部分。

为您的Wiki部分定义基于路径的访问规则。规则按顺序评估。首次匹配生效。

活动规则

从ZIP归档文件导入Markdown文件。文件将被处理并存储在适当的文档结构中。ZIP中的目录结构(类别/子类别)将在wiki中保留。

上传包含要导入的Markdown(.md)文件的ZIP归档(压缩包)。

创建和管理您的 Wiki 数据备份。备份包括所有文档、图像和配置文件。

可用备份

正在加载备份...

添加/编辑访问规则

已选择: /

添加列

处理上下文

Cursor 是一款基于大型语言模型(LLM)的编码辅助工具,旨在通过理解用户的输入和上下文来提供高效的编码建议。要充分发挥 Cursor 的潜力,理解和利用上下文(Context)是关键。本指南将深入探讨上下文的定义、类型、提供方式以及优化策略,帮助您在编码中更好地与 Cursor 协作。

一、什么是上下文(Context)?

在 Cursor 中,上下文 是指提供给模型的信息(以“输入令牌”或 Input Tokens 的形式),用于预测后续信息(以“输出令牌”或 Output Tokens 的形式)。简而言之,上下文是模型理解您需求的基础,它决定了 Cursor 提供建议的质量和准确性。

上下文可以分为两种类型:

  1. 意图上下文(Intent Context):定义用户希望模型实现的目标。例如,系统提示(System Prompt)通常是高层次的指导,告诉模型如何行为。“将按钮从蓝色改为绿色” 是一个明确的意图表述,具有指导性。
  2. 状态上下文(State Context):描述当前的环境或状态。例如,提供错误消息、控制台日志、代码片段或图片,这些都是状态相关上下文,具有描述性而非指导性。

这两种上下文相互配合,通过描述当前状态和期望的未来状态,帮助 Cursor 提供有用的编码建议。

为什么上下文重要?

如果在 Cursor 中提供的上下文不足,模型可能会:

好消息是,Cursor 内置了上下文感知功能,设计上尽量减少用户手动干预。它会自动拉取可能相关的代码库部分,例如当前文件、其他文件中的语义相似模式,以及会话中的其他信息。然而,手动指定相关上下文仍然是一个有效的策略,可以更精准地指导模型。

二、如何在 Cursor 中提供上下文?

为 Cursor 提供相关上下文是提升其表现的关键。以下是几种主要方法,可以帮助您高效地提供上下文。

1. 使用 @-符号提供明确上下文

使用 @-符号 是最简单直接的上下文提供方式,适用于您明确知道需要包含哪些文件、文件夹或其他信息时。@-符号允许您以更精准的方式指定上下文,避免模型处理不相关信息。以下是常用的 @-符号类型及其应用场景:

符号 示例 使用场景 缺点
@code @LRUCachedFunction 明确知道某个函数、常量或符号与目标相关 需要对代码库有深入了解
@file cache.ts 知道某个文件需要被读取或编辑,但不确定具体位置 文件较大时可能包含无关上下文
@folder utils/ 文件夹中大部分或全部文件都与任务相关 可能包含大量不相关上下文

通过在 Cursor 的提示中输入 @ 符号,您可以快速选择相关代码、文件或文件夹,确保模型聚焦于您指定的内容。

2. 通过规则(Rules)提供长期上下文

规则(Rules) 可以被视为长期记忆,适用于您希望自己或团队其他成员反复使用的上下文。规则特别适合用于捕获特定领域知识,例如工作流程、格式化规范或其他惯例。

3. 使用模型上下文协议(MCP)

模型上下文协议(Model Context Protocol, MCP) 是一个扩展层,允许您为 Cursor 添加执行操作和获取外部上下文的能力。根据您的开发环境,可以连接不同类型的服务,以下是两个常见的类别:

如果您有现有的工具可以通过 API 访问上下文或执行操作,可以为其构建 MCP 服务器(具体指南请参见:构建 MCP 服务器教程)。

4. 自我收集上下文(Self-Gathering Context)

一个强大的模式是让 Cursor 的代理(Agent)编写临时工具并运行这些工具以收集更多上下文。这种方法在“人在回路”(Human-in-the-Loop)的工作流中尤为有效,您可以在执行前审查代码。

例如,通过以下步骤在 Python 中实现动态上下文收集:

  1. 提示代理在代码的相关部分添加 print("debugging: ...") 语句。
  2. 使用终端运行代码或测试。
  3. 代理会读取终端输出并决定下一步操作。

这种方法的核心在于让代理访问实际运行时行为,而不仅仅是静态代码,从而获取更丰富的上下文信息。

三、优化上下文提供的策略

为了让 Cursor 的建议更加精准和实用,您可以采取以下策略来优化上下文提供:

  1. 提供全面而具体的上下文

    • 结合意图上下文和状态上下文,清晰描述当前状态和期望结果。例如,在请求修复错误时,提供错误消息、相关代码片段以及您的修复目标。
    • 使用 @-符号精准指定相关文件或代码,避免模型处理过多无关信息。
  2. 利用规则减少重复提示

    • 将常用的指导原则或团队规范保存为规则,避免每次都重新输入相同的提示。
  3. 结合动态上下文

    • 对于复杂问题,考虑使用自我收集上下文的策略,让 Cursor 运行临时代码并分析输出。这在调试和动态行为分析中尤为有用。
  4. 定期审查和调整上下文

    • 如果模型的建议不准确,检查您提供的上下文是否足够或是否过于宽泛。根据需要调整提示或上下文内容。

四、Cursor 上下文工作中的注意事项

在实际使用中,了解以下几点可以帮助您更好地与 Cursor 协作:

五、总结

上下文是 Cursor 有效编码的基础。通过结合意图上下文(您想要什么)和状态上下文(当前情况如何),Cursor 能够提供精准的编码建议。以下是几个关键要点:

通过掌握以上方法,您可以显著提升 Cursor 在编码任务中的表现,节省时间并提高代码质量。上下文不仅是与 AI 协作的基础,也是解锁其潜力的关键。

附件

正在加载附件...
搜索结果