Skip to content

Repository files navigation

FinderExplorer

一个用 SwiftUI 构建的 macOS 文件管理器,风格类似 Finder,支持树形侧边栏、面包屑导航、多选、内联重命名等功能。

截图

主界面

相比访达(Finder)的优势

Finder FinderExplorer
地址栏 右键 Option 才能看到路径,复制不方便 点击空白即切换为可编辑路径,自动全选,一键复制
目录树 侧边栏仅收藏夹,无完整目录树 完整目录树,根节点直达 /、/Users、/Applications
排序 分组 + 排序混合,不可按列头切换 四列表格,点击列头一键切换排序方向和字段
键盘操作 仅 Enter 打开、Space 预览 全键盘:↑↓ 导航、Enter 打开、Backspace 返回上级、F2 重命名
多列信息 需切换为列表视图,且不显示类型 名称、日期、类型、大小四列同时可见
右键菜单 服务菜单分散、无废纸篓 集中管理:打开、重命名、Finder 中显示、复制路径、废纸篓
目录刷新 有时不自动刷新 文件系统事件驱动,自动刷新
跨平台潜力 macOS 专属 SwiftUI 跨平台架构,未来可移植

功能

  • 侧边栏目录树 — 异步加载,支持展开/折叠子文件夹
  • 可编辑地址栏 — 点击空白区域切换为文本输入,自动全选,支持复制/粘贴路径,Enter 导航、Esc 取消
  • 文件列表 — 名称/修改日期/类型/大小四列,支持点击列头排序
  • 搜索过滤 — 实时搜索当前目录下的文件
  • 右键菜单 — 打开、重命名、在 Finder 中显示、复制路径、移到废纸篓
  • 键盘导航 — 上下箭头选择、回车打开、Backspace 返回上级、F2 重命名
  • 多选 — ⌘ Command 追加 / ⇧ Shift 范围选择
  • 内联重命名 — 在列表中直接编辑文件名
  • 新建文件夹 — 快捷创建并自动选中
  • 复制/剪切/粘贴 — ⌘C 复制 / ⌘X 剪切 / ⌘V 粘贴,行为与 Windows 一致:复制可连续粘贴到多个目录,剪切粘贴后清空;同名自动加「副本」后缀;被剪切的文件半透明显示
  • 隐藏文件切换 — ⌘⇧. 快捷键(与系统通用快捷键一致)或右键菜单切换
  • 删除确认 — 移到废纸篓前弹窗确认,防止误删
  • 地址栏支持~ — 输入 ~/Downloads 等路径自动展开为用户主目录
  • 前进/后退 — 导航历史栈,工具栏按钮操作
  • 废纸篓 — 菜单命令 + ⌫ Delete 快捷键
  • 目录自动刷新 — 外部文件新增/删除时列表自动更新
  • 关于窗口 — 显示版本号、作者和项目主页链接
  • 版本管理 — AppVersion.swift 统一版本号,窗口标题和打包产物自动同步

下载

Releases 下载预编译版本,选择对应架构:

下载 架构 适用
FinderExplorer_1.2.0-universal.dmg Universal (arm64 + x86_64) 推荐,不确定芯片选这个
FinderExplorer_1.2.0-arm64.dmg arm64 Apple Silicon (M1/M2/M3/M4)
FinderExplorer_1.2.0-amd64.dmg x86_64 Intel Mac

查看芯片类型:点左上角 → "关于本机" → 看"芯片"一行。

下载后双击打开 .dmg,把 FinderExplorer.app 拖入 Applications 快捷方式即可安装。

系统

  • macOS 14.0 (Sonoma) 或更高版本

构建 & 运行

方式一:直接构建运行

./build_and_run.sh

方式二:手动构建

swift build --disable-sandbox
open .build/x86_64-apple-macosx/debug/FinderExplorer

打包为 dmg

./package_app.sh

脚本会构建 x86_64 / arm64 / Universal 三个架构,并打包成 dmg 安装镜像(内含 Applications 快捷方式,拖拽即装):

FinderExplorer_<版本>-amd64.dmg
FinderExplorer_<版本>-arm64.dmg
FinderExplorer_<版本>-universal.dmg

同时在本地保留一份 FinderExplorer.app(Universal)可直接运行。版本号自动从 AppVersion.swift 读取。

项目结构

FinderExplorer/
├── Package.swift                 # Swift Package Manager 配置
├── build_and_run.sh              # Debug 构建 + 启动
├── package_app.sh                # Release 打包 dmg(三架构)
├── generate_icon.swift           # 用代码生成 App 图标
└── Sources/FinderExplorer/
    ├── AppVersion.swift          # 版本号定义
    ├── FinderExplorerApp.swift   # 入口 + 主窗口
    ├── Models/
    │   ├── FileItem.swift        # 文件/文件夹数据模型
    │   ├── SortOptions.swift     # 排序选项与方向
    │   └── TreeNode.swift        # 侧边栏树节点(异步)
    ├── Services/
    │   ├── FileSystemService.swift # 文件操作服务层
    │   └── NavigationState.swift   # 前进/后退导航栈
    └── Views/
        ├── MainContentView.swift  # 主区域整合
        ├── BreadcrumbBar.swift    # 面包屑地址栏
        ├── FileListView.swift     # 文件列表 + 右键菜单
        └── SidebarTreeView.swift  # 侧边栏目录树

技术栈

  • SwiftUI — 原生声明式 UI
  • AppKitNSWorkspace 获取文件图标、NSEvent 键盘监听
  • SF Symbols — 系统图标
  • Swift 6.0 — 结构化并发 (async/await)、@MainActor

许可

MIT

About

一个用 SwiftUI 构建的 macOS 文件管理器,风格类似 Finder,支持树形侧边栏、面包屑导航、多选、内联重命名等功能。

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages