Tree Converter - VSCode 插件
🚀 将缩进文本一键转换为树状结构的VSCode插件
✨ 功能特性
- 🎯 智能转换:自动识别缩进级别,完美转换为树状结构
- ⚡ 快捷操作:支持快捷键
Ctrl+Shift+T 和右键菜单
- 🎨 美观输出:使用标准树形符号(├─ └─ │)
- 🔧 灵活缩进:支持Tab和空格混合缩进
- 📝 实时预览:状态栏显示插件状态和快捷提示
📦 安装方法
方法一:从文件安装(推荐)
- 打开VSCode
- 按
Ctrl+Shift+P 打开命令面板
- 输入 "Extensions: Install from VSIX..."
- 选择编译好的
.vsix 文件安装
方法二:开发模式安装
- 克隆或下载此项目
- 在项目目录下运行:
npm install
npm run compile
- 在VSCode中按
F5 启动调试模式
🎯 使用方法
1. 🖱️ 编辑器右上角按钮(推荐)
- 选中有缩进的文本
- 点击编辑器右上角的"转换为树状结构"按钮
- 优点:无需记忆快捷键,避免快捷键冲突
2. ⌨️ 快捷键方式
- 选中有缩进的文本
- 按
Ctrl+Shift+T(Mac: Cmd+Shift+T)
3. 📋 右键菜单方式
- 选中有缩进的文本
- 右键点击,选择"转换为树状结构"
4. 🔍 命令面板方式
- 按
Ctrl+Shift+P 打开命令面板
- 输入"转换为树状结构"或"Tree Converter"
📝 使用示例
输入(缩进文本):
集成测试阶段
特性组1(终端业务组)
冲突用例(特殊节点)
模块A(子节点-叶子节点)← 统计数据
模块B(子节点-叶子节点)← 统计数据
高中风险(特殊节点)
模块A(子节点-叶子节点)← 统计数据
特性组2(终端业务组)
冲突用例(特殊节点)
模块A(子节点-叶子节点)← 统计数据
输出(树状结构):
集成测试阶段
├─ 特性组1(终端业务组)
│ ├─ 冲突用例(特殊节点)
│ │ ├─ 模块A(子节点-叶子节点)← 统计数据
│ │ └─ 模块B(子节点-叶子节点)← 统计数据
│ └─ 高中风险(特殊节点)
│ └─ 模块A(子节点-叶子节点)← 统计数据
└─ 特性组2(终端业务组)
└─ 冲突用例(特殊节点)
└─ 模块A(子节点-叶子节点)← 统计数据
⚙️ 配置说明
缩进规则
- Tab缩进:1个Tab = 1级缩进
- 空格缩进:2个空格 = 1级缩进
- 混合缩进:支持Tab和空格混合使用
树形符号
├─ : 中间节点
└─ : 最后一个节点
│ : 垂直连接线
🛠️ 开发说明
项目结构
tree-converter/
├── src/
│ ├── extension.ts # 插件主入口
│ └── utils.ts # 核心转换逻辑
├── package.json # 插件配置
├── tsconfig.json # TypeScript配置
├── test-input.md # 测试输入文件
└── README.md # 使用说明
核心算法
- 解析缩进:逐行分析,计算缩进级别
- 构建树形:使用栈结构建立父子关系
- 生成输出:递归遍历,生成树形字符串
编译命令
npm run compile # 编译TypeScript
npm run watch # 监听模式编译
🐛 故障排除
常见问题
Q: 转换后格式不正确?
A: 检查缩进是否统一,建议使用2个空格或1个Tab作为一级缩进
Q: 快捷键不生效?
A: 检查是否与其他插件快捷键冲突,可在设置中修改
Q: 右键菜单不显示?
A: 确保已选中文本,插件需要选中文本才能激活右键菜单
调试模式
- 按
F5 启动调试窗口
- 在新窗口中测试插件功能
- 查看
开发者工具 中的控制台输出
📄 许可证
MIT License
🤝 贡献
欢迎提交Issue和Pull Request来改进这个插件!
享受高效的树状结构转换体验! 🎉
| |