code2prompt CLI使用指南:自动生成代码提示并复制到剪贴板的技巧
code2prompt是一款命令行工具(CLI),能够将你的代码库转换为单个LLM(大语言模型)提示词,包含源代码树、提示词模板和令牌计数功能。它可以帮助开发者更便捷地将代码库信息提供给AI模型,以进行代码分析、生成等任务。
安装code2prompt
使用Cargo安装
Cargo是Rust语言的包管理器,如果你已经安装了Rust环境,可以直接使用以下命令安装code2prompt:
cargo install code2prompt
对于Wayland系统,若需要剪贴板集成支持,可以使用wayland特性标志:
cargo install --features wayland code2prompt
使用Homebrew安装
如果你使用的是macOS系统,并且安装了Homebrew包管理器,可以通过以下命令安装:
brew install code2prompt
使用pip安装SDK
code2prompt还提供了Python SDK,可以通过pip安装:
pip install code2prompt-rs
基本使用方法
生成代码提示并复制到剪贴板
在命令行中,进入你的代码库目录,然后运行以下命令:
code2prompt
该命令会遍历当前目录下的代码文件,生成一个结构化的LLM提示词,并自动将其复制到剪贴板。你可以直接粘贴到LLM对话界面中使用。
指定输出文件
如果你希望将生成的提示词保存到文件中,可以使用--output-file(或-o)选项:
code2prompt --output-file prompt.txt
这会将提示词同时保存到prompt.txt文件和剪贴板中。
禁用剪贴板复制
如果你只需要将提示词保存到文件,而不需要复制到剪贴板,可以使用--no-clipboard选项:
code2prompt --no-clipboard --output-file prompt.txt
注意:使用
--no-clipboard选项时,必须同时指定--output-file。
高级功能
查看令牌计数
code2prompt会自动计算生成的提示词的令牌数量,以帮助你了解是否超出LLM的上下文限制。默认情况下,运行命令后会在终端显示令牌计数信息。如果你需要更详细的令牌分布信息,可以使用--token-map选项:
code2prompt --token-map
使用Git差异
如果你希望在提示词中包含Git仓库的差异信息,可以使用相关的Git选项。例如,生成当前工作区与上次提交之间的差异:
code2prompt --diff
自定义模板
code2prompt支持使用Handlebars模板来自定义提示词的格式。你可以使用--template选项指定自定义模板文件:
code2prompt --template my_template.hbs
系统还提供了一些内置模板,位于crates/code2prompt-core/templates/目录下,例如用于生成GitHub README的模板write-github-readme.hbs。
使用TUI模式
code2prompt提供了一个终端用户界面(TUI),可以通过交互式方式选择文件和配置选项。使用--tui选项启动TUI模式:
code2prompt --tui
剪贴板功能实现原理
在不同的操作系统上,code2prompt的剪贴板功能实现方式有所不同。在Linux系统上,它通过生成一个守护进程来维持剪贴板内容,确保主程序退出后剪贴板内容仍然可用。相关实现代码可以在crates/code2prompt/src/clipboard.rs中找到。
在Windows和macOS系统上,则直接使用系统剪贴板API来实现文本复制功能。核心的复制逻辑在copy_to_clipboard函数中处理,根据不同的操作系统调用相应的实现。
命令行参数参考
code2prompt提供了丰富的命令行参数来满足不同的需求。你可以通过code2prompt --help命令查看所有可用参数。以下是一些常用参数:
| 参数 | 描述 |
|---|---|
--output-file <FILE> | 将提示词输出到指定文件 |
--no-clipboard | 禁用剪贴板复制(必须与--output-file一起使用) |
--template <TEMPLATE> | 使用自定义Handlebars模板 |
--diff | 包含Git差异信息 |
--tui | 启动终端用户界面 |
--token-map | 显示令牌分布信息 |
更多详细的命令行参数说明,可以参考项目的源代码crates/code2prompt/src/main.rs中的参数定义部分。
总结
code2prompt是一款功能强大的CLI工具,能够帮助开发者轻松地将代码库转换为LLM提示词,并自动复制到剪贴板。通过本文介绍的技巧,你可以更高效地使用code2prompt来辅助你的开发工作,无论是进行代码分析、生成文档还是寻求AI的编程帮助。
如果你在使用过程中遇到问题,或者有任何改进建议,可以查阅项目的官方文档或参与社区讨论。祝你使用愉快!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



