迁移指南
如果您当前正在使用@Codebase 或 @Folder 上下文提供程序,请迁移到我们代码库和文档感知指南中概述的新方法。新方法提供了
- 与 Continue 的代理模式功能更好地集成
- 更智能的上下文选择
- 改进的性能和准确性
旧版文档
以下是@Codebase 上下文提供程序的原始文档,保留供参考 Continue 会索引您的代码库,以便以后可以自动从您的整个工作区中提取最相关的上下文。这是通过基于嵌入的检索和关键字搜索的组合完成的。默认情况下,所有嵌入都使用 transformers.js 在本地计算,并存储在 ~/.continue/index 中。注意:
transformers.js 不能在 JetBrains IDE 中使用。但是,您可以从此处的列表中选择不同的嵌入模型。如何使用 @Codebase 和 @Folder 上下文提供程序
目前,代码库检索功能作为“codebase”和“folder”上下文提供程序提供。您可以通过在输入框中键入@Codebase 或 @Folder,然后提出问题来使用它们。输入框的内容将与代码库(或文件夹)其余部分的嵌入进行比较,以确定相关文件。
@Codebase 上下文提供程序何时有用
以下是一些可能有用的常见用例- 提出关于代码库的高级问题
- “如何向服务器添加新端点?”
- “我们是否在任何地方使用 VS Code 的 CodeLens 功能?”
- “是否已经有代码用于将 HTML 转换为 Markdown?”
- 使用现有示例作为参考生成代码
- “使用与现有组件相同的模式生成一个带有日期选择器的新 React 组件”
- “使用 Python 的 argparse 为此项目编写一个 CLI 应用程序草稿”
- “在
bar类中实现foo方法,遵循baz的其他子类中看到的模式。”
- 使用
@Folder提问有关特定文件夹的问题,增加相关结果的可能性- “这个文件夹的主要目的是什么?”
- “我们如何使用 VS Code 的 CodeLens API?”
- 或上述任何示例,但使用
@Folder而不是@Codebase
@Codebase 上下文提供程序何时无用
以下是用例,它没有用处- 当您需要 LLM 查看代码库中的所有文件时
- “找到所有调用
foo函数的地方” - “审查我们的代码库并查找任何拼写错误”
- “找到所有调用
- 重构任务
- “向
bar函数添加一个新参数并更新用法”
- “向
如何配置 @Codebase 上下文提供程序设置
有几个选项允许您配置@codebase 上下文提供程序的行为,这些选项与 @folder 上下文提供程序相同
- YAML
- JSON
config.yaml
nRetrieve
从向量数据库中初始检索的结果数量(默认值:25)
nFinal
重新排名后使用的最终结果数量(默认值:5)
useReranking
是否使用重新排名,这将允许最初选择 nRetrieve 个结果,然后将使用 LLM 选择前 nFinal 个结果(默认值:true)
如何在索引期间忽略文件
Continue 遵守.gitignore 文件,以确定哪些文件不应被索引。如果您想排除其他文件,可以将其添加到 .continueignore 文件中,该文件遵循与 .gitignore 完全相同的规则。 Continue 还支持一个全局 .continueignore 文件,该文件将适用于所有工作区,可以在 ~/.continue/.continueignore 创建。 如果您想确切了解 Continue 索引了哪些文件,元数据存储在 ~/.continue/index/index.sqlite 中。您可以使用 DB Browser for SQLite 等工具查看此文件中的 tag_catalog 表。 如果您需要强制刷新索引,请使用 cmd/ctrl + shift + p + “重新加载窗口”重新加载 VS Code 窗口。