常见用例
Windsurf 在较高层面支持多种用例。然而,我们发现某些用例比其他用例更常见,特别是在我们的企业客户的生产代码库中。
代码生成
指南: Windsurf 应该非常适合这个用例。Windsurf 的功能包括单行建议、多行建议和中间填充 (FIM) 补全。
最佳实践: 确保使用下一补全 (⌥ + ]
)、上下文固定、@ 提及和自定义上下文将提供最佳结果。
指南: Windsurf 应该非常适合这个用例。Windsurf 的功能包括单行建议、多行建议和中间填充 (FIM) 补全。
最佳实践: 确保使用下一补全 (⌥ + ]
)、上下文固定、@ 提及和自定义上下文将提供最佳结果。
指南: Windsurf 应该非常适合这个用例。Windsurf 的功能包括单行建议、多行建议和中间填充 (FIM) 补全。
最佳实践: 确保使用下一补全 (⌥ + ]
)、上下文固定、@ 提及和自定义上下文将提供最佳结果。
单元测试生成
指南: 使用 Windsurf 生成单元测试的基本用法应该能可靠地生成 60-70% 的单元测试。边缘情况覆盖的质量取决于用户向模型提示的质量。
最佳实践: 使用 @ 提及。遵循提示工程最佳实践。例如:
为 @function-name
编写单元测试,测试 X 和 Y 的所有边缘情况(例如电子邮件域名)。
使用 @testing-utility-class
为 @function-name
编写单元测试。
指南: 对于简单易行的用例效果很好。对于非常具体的 API 规范或内部库,Windsurf 可能无法充分了解其中的细节,从而无法确保生成样本数据的质量。
最佳实践: 非常具体地说明你期望的接口。考虑任务的复杂性(以及单次 LLM 调用是否足以解决)。
内部代码注释
指南: Windsurf 应该非常适合这个用例。使用 Windsurf Command 或 Windsurf Chat 来生成内联注释和代码描述。
最佳实践: 尽可能使用 @ 提及和代码透镜 (Code Lenses),以确保 LLM 调用的范围正确。
指南: 通常,重构按钮 / Windsurf Command 是提示改进的最佳方式。Windsurf Chat 是询问解释或澄清的最佳位置。这有点笼统,但 Windsurf 应该擅长这两者。
Windsurf Chat 是询问解释或澄清的最佳位置。
这有点笼统,但 Windsurf 应该擅长这两者。
最佳实践: 使用下拉提示(即 Windsurf 的重构按钮)——我们有更好的定制提示,旨在提供你更可能期望的答案。
指南: 最好创建头文件,打开聊天,@ 提及 cpp 文件中的函数,然后让它编写头函数。然后对 cpp 文件中的每个函数重复此操作。这是确保在此过程中没有幻觉的最佳方法。
最佳实践: 通常避免尝试用一次 LLM 调用编写整个头文件。分解工作的粒度可以显著提高生成代码的质量。
API 文档和集成
指南: 这类似于测试覆盖率,Windsurf 能够准确地修饰许多库中常见的 API 规范部分。然而,对于你的内部用例专门构建的内容,Windsurf 可能难以达到你期望的质量。
最佳实践: 类似于测试覆盖率,尽可能引导 Windsurf 的模型以最佳方式思考 API 的功能,这样它才能更好地进行修饰。
指南: Windsurf 单次 LLM 调用的上下文长度为 16,000 个 token。因此,根据你的搜索范围,Windsurf 的仓库范围搜索能力可能不足。仓库范围、多步骤、多编辑任务将在未来的 Windsurf 产品中得到支持。
这本质上是一个多步骤问题,单次 LLM 调用(即所有 AI 代码助手当前的功能)不适合解决。此外,由于集成特别脆弱,结果的准确性必须比其他用例高得多。
最佳实践: Windsurf 目前尚未完全具备解决此问题的能力。如果你想测试 Windsurf 现有功能的范围,可以制定一个分步计划,并单独向 Windsurf 提示每个步骤以及详细程度较高的信息来指导 AI。
代码重构
指南: 使用 Windsurf 代码透镜 (Code Lenses) 或 @ 提及确保正确的范围界定,以确保将所有必要的上下文传递给 LLM。
单次 LLM 调用的上下文长度是有限的。因此,根据你的重构范围,这个有限的上下文长度可能是一个问题(以及任何单次 LLM 调用模式)。仓库范围、多步骤、多编辑任务现在已在 Windsurf 的 Cascade 中得到支持。
最佳实践: 尽量分解提示。重构命令越简单越短越好。
指南: 使用 Windsurf 代码透镜 (Code Lenses) 或 @ 提及确保正确的范围界定,以确保将所有必要的上下文传递给 LLM。
Windsurf 单次 LLM 调用的上下文长度为 16,000 个 token。因此,根据你的重构范围,Windsurf 的上下文长度可能是一个问题(以及任何单次 LLM 调用模式)。仓库范围、多步骤、多编辑任务将在未来的 Windsurf 产品中得到支持。
最佳实践: 尽量分解提示。重构命令越简单越短越好。