Copy as Markdown
一个强大的 VSCode 扩展,用于将选中的代码、多个文件或整个项目结构智能复制为 Markdown 格式。支持自定义排除规则、生成目录树、导出路径列表等高级功能。
English Documentation
✨ 核心特性
- 🚀 三种复制模式:
- 复制选中代码:智能检测语言,自动添加文件名和省略号。
- 复制文件/文件夹:递归处理文件夹,批量导出文件内容。
- 复制文件树:生成类似
tree 命令的 ASCII 目录结构图。
- 复制路径列表:生成相对路径的纯文本列表。
- 🛡️ 强大的排除系统:
- 后缀排除:一键过滤
.exe, .dll 等二进制文件。
- 路径排除:支持根目录匹配(如
/node_modules)和模糊匹配(如 temp)。
- 📁 智能文件处理:
- 自动跳过二进制文件。
- 自动识别文件名、路径和编程语言。
- 支持未保存文件(untitled)。
- 🎯 智能格式化:
- 智能省略号:根据选区上下文(文件头/中/尾)自动添加
...。
- 详细模式:可选显示被省略的行数(如"省略上方 15 行...")。
- 🌍 完整国际化:原生支持简体中文和英文,自动适应 VSCode 语言设置。
📖 使用指南
1. 复制编辑器中的代码
- 打开任意代码文件并选中一段代码。
- 右键选择 "复制为 Markdown"(或快捷键
Ctrl+Alt+C)。
- 剪贴板内容示例:
src/main.py:
```python
...
def hello():
print("Hello World")
```
2. 资源管理器批量操作
在左侧资源管理器中选中一个或多个文件/文件夹,右键点击:
- 复制为 Markdown:递归读取所有文本文件的内容并合并。
- 复制为文件树:生成目录结构图。
- 复制路径列表:生成文件路径清单。
输出示例:复制为文件树
src
├─commands
│ ├─CopyFilesCommand.ts
│ └─CopyTreeCommand.ts
├─config
│ └─ConfigManager.ts
└─extension.ts
输出示例:复制路径列表
src/commands/CopyFilesCommand.ts
src/commands/CopyTreeCommand.ts
src/config/ConfigManager.ts
src/extension.ts
⚙️ 配置选项
您可以在 VSCode 设置中搜索 copyAsMarkdown 进行配置:
排除规则 (New!)
copyAsMarkdown.excludeExtensions
排除特定后缀的文件。
默认值: [".exe", ".dll", ".pdb", ".git", ".svn", ".DS_Store"]
copyAsMarkdown.excludePaths
排除特定的目录或路径。
默认值: ["/node_modules", "/.git", "/dist", "/out", "/bin"]
- 类型 A (根目录匹配):以
/ 开头。例如 /dist 仅匹配项目根目录下的 dist 文件夹。
- 类型 B (包含匹配):不以
/ 开头。例如 temp 会匹配 src/temp 和 test/temp。
自定义扩展名
copyAsMarkdown.customTextExtensions
定义应被视为文本文件的特殊后缀。例如:[".wxml", ".acss"]。
格式化设置
copyAsMarkdown.includeFileName:是否显示文件名(默认:true)。
copyAsMarkdown.includeFilePath:是否显示文件路径(默认:false)。
copyAsMarkdown.filePathBase:路径显示基准(workspace 相对路径 或 absolute 绝对路径)。
copyAsMarkdown.addEllipsis:是否在部分选中时添加省略号(默认:true)。
copyAsMarkdown.addEllipsisDetail:是否显示具体的省略行数(默认:false)。
语言映射
⌨️ 快捷键
- 复制选中代码:
- Windows/Linux:
Ctrl+Alt+C
- macOS:
Cmd+Shift+C
您可以随时在 VSCode 的键盘快捷方式设置中修改这些键位。
📦 安装方法
- 打开 VSCode 扩展面板 (Ctrl+Shift+X)。
- 搜索 "Copy as Markdown"。
- 点击安装。
📅 更新日志
0.1.0
- ✨ 新增:排除规则功能(支持后缀排除和路径排除)。
- ✨ 新增:资源管理器"复制为文件树"功能。
- ✨ 新增:资源管理器"复制路径列表"功能。
- 🚀 优化:重构底层架构,大幅提升大文件夹处理性能(自动跳过 node_modules 等)。
0.0.4
- 🐛 修复:修复同时选择文件夹及其子文件时的内容重复问题。
(查看完整的 CHANGELOG)
🤝 贡献与支持
如果您觉得这个扩展好用,请在市场上给我们一个 五星好评 ⭐!
遇到问题或有新想法?欢迎在 GitHub Issues 中提交反馈。
📄 许可证
MIT License
| |