教程概览
手动编写冗长的排除模式或特定的 tokenizer 设置会非常繁琐。本教程将展示 如何使用 .c2pconfig 配置文件 来实现“一键配置,忘记它”的项目设置。
教程概览
手动编写冗长的排除模式或特定的 tokenizer 设置会非常繁琐。本教程将展示 如何使用 .c2pconfig 配置文件 来实现“一键配置,忘记它”的项目设置。
确保已安装 code2prompt。如果尚未安装,请参阅 安装指南。了解 TOML 语法 会有帮助,但不是必需的。
.c2pconfig?.c2pconfig 是一个 TOML 格式的配置文件。运行 code2prompt 时,它会自动在当前工作目录查找此文件并应用其中的设置。
您可以使用它来定义:
在项目根目录创建 .c2pconfig,并设置基础行为。
# 基础行为配置default_output = "stdout" # 选项: stdout, clipboard, fileinclude_patterns = ["src/**/*.rs", "Cargo.toml"]exclude_patterns = ["**/target/**", "tests/fixtures/**"]line_numbers = trueoutput_format = "markdown"
[user_variables]project_name = "MyAwesomeProject"author = "Developer"以下表格列出了 .c2pconfig 中可用的键:
| 键 | 类型 | 描述 |
|---|---|---|
path | String | 代码库的默认路径(通常为 .) |
include_patterns | Array | 包含的文件 glob 模式 |
exclude_patterns | Array | 排除的文件 glob 模式 |
line_numbers | Boolean | 为代码块添加行号 |
absolute_path | Boolean | 使用绝对路径而非相对路径 |
full_directory_tree | Boolean | 即使是被排除的文件也生成完整目录树 |
output_format | String | markdown, json, xml |
sort_method | String | name_asc, name_desc, date_asc, date_desc |
encoding | String | Tokenizer: cl100k, p50k, o200k |
diff_enabled | Boolean | 包含 Git diff(HEAD 与 Index) |
token_map_enabled | Boolean | 显示 token 使用的层次图 |
初始化配置
touch .c2pconfig设置全局过滤
排除 node_modules、构建产物等大型目录,以保持 LLM 上下文的干净。
exclude_patterns = [ "**/node_modules/**", "package-lock.json", "dist/**"]选择 Tokenizer
根据目标 LLM 选择 tokenizer。GPT‑4o 使用 o200k,Claude 与 GPT‑4 使用 cl100k。
encoding = "o200k"添加用户变量
在 [user_variables] 部分定义将在 Handlebars 模板中使用的自定义变量。
[user_variables]project_goal = "重构认证模块以提升安全性"无需额外标志运行
code2prompt .CLI 参数 > .c2pconfig > 默认设置。这样您可以保留基础配置,同时在需要时通过 CLI 临时覆盖。
如果您的主要目标是为代码审查生成 Prompt,请使用以下配置:
default_output = "clipboard"include_patterns = ["*.rs"]exclude_patterns = ["**/test*","**code2prompt-python*"]line_numbers = falseabsolute_path = true
[user_variables]project = "code2prompt"