Files
mnote/design/90-reference/90-1-filetree.md
T
lix-2026 96e03645f7 chore: 收口 review 执行清单与 runtime 验证
- 补齐 design/10-review 执行清单、验收标准与相关设计治理记录

- 迁移已完成的 tree、mindmap、runtime fallback、AI kernel 等设计和缺陷条目

- 推进 Rust Web runtime、tree/sidebar、page aggregate、mindmap 与 OnlyOffice 路由侧验证支撑

- 增加 task177-task180 smoke/audit 脚本及前端相关测试覆盖
2026-05-14 05:52:08 +08:00

3.1 KiB
Raw Blame History

90-1 参考资料:文件树 Rust 生态调研

是的,Rust生态中有多个类似VSCode文件树的实现,涵盖终端(TUI)组件GUI组件独立应用三类,均支持文件/目录的层级展示、折叠展开与交互操作。


一、终端(TUI)领域:VSCode风格文件树组件/应用

1. filetree (ft) - 最接近VSCode文件树的TUI实现

  • 仓库:https://github.com/nyanko3141592/filetree
  • 版本:v0.3.52026年3月)
  • 核心特性:
    • VSCode风格界面,支持文件/目录层级展示与折叠
    • Git状态集成(修改、未跟踪、忽略文件颜色标记)
    • Vim键绑定(hjkl导航)与鼠标支持
    • 系统剪贴板集成,支持文件复制/剪切/粘贴
    • 可通过cargo直接安装:cargo install filetree

2. fileview - 轻量级VSCode风格文件树TUI

  • 仓库:https://crates.io/crates/fileview
  • 版本:v1.8.12026年2月)
  • 特点:
    • 极简设计,启动迅速,无需配置
    • 支持图像预览(Kitty/iTerm2/Sixel)与语法高亮
    • 模糊查找功能,快速定位文件
    • 多文件选择与批量操作

3. 通用TUI文件树组件库

库名称 适用框架 核心特点
tui-file-explorer Ratatui 双面板布局,独立左右浏览窗格,Tab切换
tui-tree-widget Ratatui 通用树视图组件,支持自定义数据结构
ratatui-explorer Ratatui 高度可定制,支持键盘输入处理
ratkit Ratatui 包含树视图在内的综合组件库,支持可调整大小的分割面板

二、GUI领域:Rust图形界面文件树组件

1. iced_file_tree - Iced GUI框架的文件树组件

2. Tauri应用中的文件树实现

  • TauriRust+WebView)可通过Rust后端+前端组件实现VSCode风格文件树
  • 后端:使用std::fs::read_dir读取目录内容,返回(path, is_directory)元组
  • 前端:创建嵌套HTML列表(ul/li)表示文件夹结构,添加VSCode风格图标与交互

三、使用场景与选择建议

使用场景 推荐选择 理由
快速体验VSCode风格文件树 filetree(ft) 开箱即用,VSCode界面风格,Git集成
集成到Ratatui终端应用 tui-file-explorer 专为Ratatui设计,双面板布局,功能完善
构建跨平台GUI应用 iced_file_tree 适配Iced框架,原生GUI体验
开发Tauri桌面应用 自定义实现 结合Rust后端与Web前端,灵活性最高

四、快速上手示例

使用filetree(ft)快速体验VSCode风格文件树:

# 安装
cargo install filetree

# 运行(当前目录)
ft

# 常用操作
hjkl - 导航(Vim风格)
g/G - 跳至顶部/底部
Enter - 打开文件/文件夹
dd - 删除文件/文件夹
yy - 复制,p - 粘贴
:q - 退出

如果需要将文件树组件集成到 Rust 项目中,建议根据应用类型(终端/GUI)选择对应的组件库,或参考 filetree 的实现方式进行定制开发。