一个将目录结构和文件内容复制到剪切板的工具
Project description
DirCat
一个简单的命令行工具,可以将整个目录的结构和文件内容递归地复制到剪切板或输出到文件,方便与 AI 进行代码分析和调试。
🚀 安装
通过 pip 安装:
pip install dircat
✨ 特性
- 结构清晰: 开头生成一个完整的目录树,结构一目了然
- 两种目录展示模式:
--style emoji(默认): 使用 📂 / 📜 前缀展示目录和文件--style tree: 使用 ASCII 树形结构 (├──,└──) 更接近系统自带的tree效果
- 只看目录模式: 使用
--tree-only可以只输出目录结构,而不包含后面的“文件内容”块,适合快速浏览项目布局 - 多编码支持: 自动尝试常见编码 (UTF-8 / GBK / UTF-16 等),在混合编码项目下也能尽可能正确读取
- 智能输出: 默认复制到剪切板,但在无剪切板环境会自动保存到文件
- 文件输出: 使用
-o选项可将所有内容直接输出到指定文件 - 自动忽略: 默认跳过
.git,node_modules,__pycache__等常见的元数据和依赖文件夹,无需手动排除 - 可配置忽略: 使用
-n/--exclude永久写入.dircatignore,或-i/--ignore-temp临时忽略特定文件/文件夹
📖 使用方法
基本用法
在您想要复制的项目根目录下,直接运行:
dircat
默认复制到剪切板。在无 GUI 环境下,将自动保存为
dircat_YYYYMMDD_HHMMSS.txt。
输出到文件
使用 -o 或 --output 选项指定输出文件:
dircat -o project_snapshot.txt
指定目录
您也可以指定一个特定的目录路径:
dircat /path/to/your/project
排除文件或文件夹
使用 -n 或 --exclude 选项,永久添加忽略规则到 .dircatignore 文件中,支持通配符:
# 排除 build 文件夹和所有 .log 文件
dircat -n "build/" "*.log"
临时忽略文件或文件夹
使用 -i 或 --ignore-temp 选项,可以临时忽略某些文件或文件夹,而不会将其添加到 .dircatignore 文件中。
# 本次运行忽略 build 文件夹和所有 .log 文件
dircat -i "build/" "*.log"
调整项目数量限制
默认情况下,如果一个文件夹下的文件和子文件夹总数超过 20,该文件夹将被跳过。您可以使用 --max-items 选项来修改这个限制:
dircat --max-items 30
切换目录展示样式
使用 --style 切换不同的目录展示方式:
# emoji 模式
dircat --style emoji
# ASCII 树形模式 (默认)
dircat --style tree
只输出目录结构 (不包含文件内容)
如果你只想快速看一下项目结构,而不需要文件内容,可以使用 -t或--tree-only:
# 类似于系统自带的 tree 命令
dircat -t
# 也可以配合自定义样式和输出文件一起使用
dircat --style tree --tree-only -o tree.txt
📄 许可证
本项目根据 MIT 许可证授权。详情请参阅 LICENSE 文件。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dircat-0.3.0.tar.gz.
File metadata
- Download URL: dircat-0.3.0.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e38fe2196eb1d4347c65f450c0ee8c68e0a304cca82c2aef1c72978ebba4fb28
|
|
| MD5 |
05f7eca9db4405f95d8f26726b82c3d6
|
|
| BLAKE2b-256 |
1f93450f10a522785cc624f1b65400fdb672d267f0a6bdfaf335614898b9e813
|
File details
Details for the file dircat-0.3.0-py3-none-any.whl.
File metadata
- Download URL: dircat-0.3.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb850d0ab69b019281cbeb1e6d09005716b6100b744dff3eed21bef44efc1ebf
|
|
| MD5 |
5171333f438f3f4089d50c8fe86d3c67
|
|
| BLAKE2b-256 |
be4df92948fff2eb5923db6baa9a743493a016fb980162c209b3a196645c3c65
|