跳到主要内容
您可以从 Continue 聊天侧边栏轻松访问您的配置。通过按下 cmd/ctrl + L (VS Code) 或 cmd/ctrl + J (JetBrains) 打开侧边栏,然后点击主聊天输入框上方的代理选择器。接着,您可以将鼠标悬停在某个代理上,然后点击 新窗口 (hub 代理) 或 齿轮 (本地代理) 图标。 configure

如何管理 Hub 配置

Hub 配置可以在 Hub 中管理。请参阅 编辑配置

如何使用 YAML 配置本地配置

本地用户级配置存储在您的主目录中的 config.yaml 中,并可在此编辑
  • ~/.continue/config.yaml (MacOS / Linux)
  • %USERPROFILE%\.continue\config.yaml (Windows)
要打开此 config.yaml,您需要打开聊天输入框右上角的配置下拉菜单。在该下拉菜单中,“本地配置”选项旁边,选择齿轮图标。它将打开本地 config.yaml local-config-open-steps 编辑此文件时,您可以一边输入一边查看可用的选项建议,或查阅下面的参考。当您从 IDE 保存配置文件时,Continue 将自动刷新以考虑您的更改。Continue 首次使用时会自动创建配置文件,并且如果配置文件不存在,则始终自动生成默认值。 请参阅 config.yaml 的完整参考 此处

传统配置方法(已弃用)

查看 config.json 迁移指南 此处
  • config.json - 原始配置格式,存储在与 config.yaml 相同位置的文件中
  • .continuerc.json - 工作区级配置
  • config.ts - 高级配置(可能不必要)- 位于您主目录中的 TypeScript 文件,可用于以编程方式修改(合并config.json 架构
    • ~/.continue/config.ts (MacOS / Linux)
    • %USERPROFILE%\.continue\config.ts (Windows)

如何使用 .continuerc.json 进行工作区配置

.continuerc.json 的格式与 config.json 相同,外加一个额外的属性 mergeBehavior,可设置为“merge”或“overwrite”。如果设置为“merge”(默认),.continuerc.json 将应用于 config.json 之上(数组和对象将被合并)。如果设置为“overwrite”,则 .continuerc.json 的每个顶级属性都将覆盖 config.json 中的相应属性。 示例
.continuerc.json
{
  "tabAutocompleteOptions": {
    "disable": true
  },
  "mergeBehavior": "overwrite"
}

如何使用 config.ts 进行高级配置

config.yamlconfig.json 可以处理绝大多数必要的配置,因此我们建议尽可能使用它们。但是,如果您需要以编程方式扩展 Continue 配置,您可以使用 config.ts 文件,将其放置在 ~/.continue/config.ts (MacOS / Linux) 或 %USERPROFILE%\.continue\config.ts (Windows)。 config.ts 必须导出一个 modifyConfig 函数,例如:
下面显示的 slashCommands 数组已弃用。要创建自定义斜杠命令,请改用 提示文件
config.ts
export function modifyConfig(config: Config): Config {
  config.slashCommands?.push({
    name: "commit",
    description: "Write a commit message",
    run: async function* (sdk) {
      // The getDiff function takes a boolean parameter that indicates whether
      // to include unstaged changes in the diff or not.
      const diff = await sdk.ide.getDiff(false); // Pass false to exclude unstaged changes
      for await (const message of sdk.llm.streamComplete(
        `${diff}\n\nWrite a commit message for the above changes. Use no more than 20 tokens to give a brief description in the imperative mood (e.g. 'Add feature' not 'Added feature'):`,
        new AbortController().signal,
        {
          maxTokens: 20,
        },
      )) {
        yield message;
      }
    },
  });
  return config;
}