ZOYKU火线榜

qiu7824/zsdesk技术文档

Native Windows tabbed file manager and desktop fences, built with Rust and Win32.

多语言回退提示:当前仓库原作者暂未发布本地化文档,已为您无缝切换至官方英文原版(English),排版及代码实例完整保真。
极速安装
cargo add zsdesk

ZSDesk

Windows 原生多标签文件管理器与桌面格子,使用 Rust、Win32/COM、Direct2D 和 DirectWrite。

文件浏览和搜索集成在同一个主窗口,采用与桌面格子协调的界面风格。 窗口、绘图及文件操作复用 Win32、Direct2D 和 Windows Shell;共享图标、菜单及快捷键能力来自 ZSUI,其源码版本固定记录在发行配置中。

下载 · 更新日志 · 问题反馈

版本

当前版本:0.3.13。

版本 Cargo features 功能
标准版 无 文件管理器、搜索、预览、界面设置和系统集成
网络版 network 标准版 + FTP、SFTP/SSH 地址、网络驱动器和网络位置
桌面版 desktop 标准版 + 桌面格子与腾讯布局导入
全量版 network,desktop 全部功能,默认构建版本
主题版 themed 全量功能 + 亚克力、Mica、纯色深浅主题,独立安装与配置
桌面盒子独立版 desktop-box 默认启动桌面格子,独立配置与自启,不包含文件管理窗口、全盘搜索和接管

打包脚本支持为上述六个版本生成 Windows x64 便携 ZIP 和安装器,文件名为 ZSDesk-<版本>-<standard|network|desktop|full|themed|desktop-box>-x64。 安装器默认按当前用户安装,保留个人数据,文件夹接管和登录启动均由软件内设置。

文件管理

  • 多标签、收藏栏、地址面包屑和系统快速访问。
  • 标签栏可置于上方、左侧或右侧;中键点击文件夹打开新标签,双击标签可关闭,标签数量可隐藏。
  • 标签右键支持锁定与解锁;锁定标签不会被关闭标签、批量关闭或关闭窗口操作移除,关闭窗口前须先解锁。
  • 收藏栏支持虚拟分类目录、重命名和拖动排序,可将收藏移入分类或移回根级;分类不会创建磁盘文件夹。
  • 分类可单独移除并保留收藏,也可连同子分类和收藏一起删除;实际文件保持不变,多窗口编辑不会恢复已删除的分类。
  • “≡ → 标签页 → 重新打开窗口时”可选择恢复标签页、打开此电脑或自定义文件夹;外部指定的目录与文件定位优先处理。
  • 左侧使用原生 Shell 导航树,支持展开、收起、固定位置和系统虚拟文件夹。
  • 文件列表使用 IExplorerBrowser,文件操作、拖放、冲突处理和进度由 Windows Shell 执行。
  • 命令栏和空白右键的新建使用系统 ShellNew 模板,创建后自动选中并进入重命名;空白菜单的查看、排序和刷新作用于当前栏。
  • 复制、移动保留系统冲突确认与进度窗口,完成、取消和部分跳过会在状态栏分别反馈。
  • “排序 → 计算并按总大小排序”可在原文件列表中按文件和文件夹总大小排序;内置计算无需额外搜索引擎,未知大小与空文件夹分开显示。
  • 文件夹、回收站、此电脑、网络及控制面板使用系统显示名称。
  • 界面遵循系统缩放;Windows 11 22H2 及以上支持 Mica 和系统窗口按钮。

应用菜单(≡、更多、查看、排序、标签与格子菜单)采用 Windows 11 浮层菜单样式,Windows 10 上外观相同; 高对比度模式使用系统菜单。

“≡ → 布局”可控制整排命令栏以及新建、剪切、复制、粘贴、重命名、共享、删除、 排序、查看、更多和预览的显示。隐藏项目后自动重排,窄窗口使用紧凑布局。

“双栏布局”可在“≡ → 布局”或右下角按钮中开启、关闭。两侧保留各自的标签、目录、选区和搜索条件, 点击一侧后,地址栏、命令栏和快捷键操作该侧;拖动中间分隔条调整宽度。 右下角同时保留详细信息与缩略图切换按钮。关闭某栏最后一个标签时保留另一栏, 关闭窗口最后一个标签时默认关闭文件窗口,可在“≡ → 标签页”中改回保留空标签。

“≡ → 布局 → 导航窗格选项”提供回收站、网络导航项的显隐,以及“此电脑”启动时展开、折叠或跟随起始位置。 Windows 10 保留 Shell 导航控件的默认尺寸;Windows 11 的导航行距随系统紧凑模式、显示缩放和当前字体调整,缩进由 Shell 处理。 普通文件夹的查看方式、图标大小、排序、分组及列设置由 Shell 按文件夹保存,并按 ZSDesk 配置目录隔离;未设置的目录继承系统文件夹模板。 标签页另行保存选区与浏览位置,搜索结果和临时菜单宿主不覆盖普通文件夹的视图偏好。 主窗口及双栏的锁定状态随标签会话保存;系统注销和关机仍按系统流程保存并结束会话。 列标题随视图切换,仅在详细信息视图显示。鼠标手势可开关:按住右键向左为后退、向右为前进、 向上为上一级、向下为刷新;原地右键仍打开原生菜单。 “≡ → 新建窗口”或 Ctrl+N 打开另一个文件窗口。

快捷键 功能
Ctrl+T / Ctrl+W 新建 / 关闭标签
Ctrl+L / Ctrl+F 地址输入 / 快速搜索
Alt+← / Alt+→ / Alt+↑ 后退 / 前进 / 上一级文件夹
鼠标后侧键 / 前侧键 后退 / 前进文件夹
Ctrl+C / Ctrl+X / Ctrl+V 复制 / 剪切 / 粘贴文件
Ctrl+Z / Ctrl+Y 撤销 / 重做 Windows Shell 支持的文件操作
Ctrl+A 全选文件
Ctrl+Shift+A 反向选择文件
F2 / Delete / Shift+Delete 重命名 / 删除 / 永久删除
F5 刷新当前目录或搜索
Alt+P / 空格 预览窗格 / 快速预览
Ctrl+N / F11 新窗口 / 全屏切换
F6 / Shift+F6 下一个 / 上一个输入区域
Ctrl+滚轮 / Ctrl++ / Ctrl+- / Ctrl+0 图标缩放 / 放大 / 缩小 / 恢复默认大小
Ctrl+Shift+1~8 切换图标、列表、详细信息、平铺等视图

输入框和文件重命名编辑框保留文本编辑快捷键;隐藏右键菜单项目不会禁用文件快捷键。 普通删除遵循系统回收站规则;永久删除、不可回收位置及系统未记录的操作不能撤销。

搜索与预览

搜索框固定在地址栏右侧,Ctrl+F 聚焦输入文件名、路径或类型筛选,例如 ext:pdf。 结果直接显示在当前标签页的文件列表中,不展开独立搜索面板。清空输入或按 Esc 返回原文件夹。 “命令栏 … → 搜索选项”提供文件类型、搜索范围、排序、上一页、下一页及索引设置。 每页显示最多 200 项,状态栏显示总数和当前页数量;不同标签页分别保留搜索条件。

“≡ → 搜索”可选择 自带搜索 或 Everything 搜索。新配置默认使用自带搜索,已有配置保留原来的选择。 选择结果保存后,导航、双栏和后台快捷键保持一致;所选 Everything 程序不可用时临时使用自带搜索,保留原选择,不自动安装外部程序。 其他文件窗口保存会话时也不会把后端改回旧值。

自带搜索使用 Rust 实现的紧凑列式索引和校验快照,同一配置的窗口与双栏共享一份内存索引。 首次建立时,管理员权限下使用只读 MFT 枚举并补全目录中的硬链接名称;普通权限下使用批量目录遍历。 后续通过普通权限 USN 日志更新文件标识与目录关系;日志身份或保留范围变化时在已有目录库上重新校验,不创建或修改系统日志。 不能使用 USN 的位置会在搜索时刷新目录,无法读取的位置会显示状态。 默认空闲 5 分钟保存快照并释放内存索引,可改为 1 或 15 分钟;再次搜索时加载快照并补齐变更。 释放后需要把紧凑索引重新读入内存,无需重新遍历全部文件;日志失效、快照无效或无可用 USN 的位置按需重新扫描。 快照位于当前用户的本地应用缓存目录,不使用旧的 SQLite 文件名数据库。

开发和缓存目录默认保留目录入口、跳过其中的内容,包括 .git、node_modules、target、.cargo、.rustup、 .cache、__pycache__、虚拟环境及临时目录;“收录开发和缓存目录内容”可恢复收录。 文件大小和修改时间索引默认关闭,相关排序只为匹配结果读取属性;开启后额外分配每项 16 字节的属性列。 拼音首字母匹配默认关闭,开启后按字典首读音辅助匹配。 自带搜索支持通配符、引号、<…> 分组、|、!、ext:、file:、folder: 和 path:; 其他 Everything 专用语法会提示切换后端,不会被当作普通关键词悄悄执行。

Everything 是可选兼容后端。标准版、网络版、桌面版、全量版和主题版随包提供 官方 Everything 1.4.1.1032 x64 非 Lite 引擎,也可在“≡ → 搜索 → 选择已安装的 Everything…”中指定程序。 指定来源显示勾选,可恢复自动选择;“搜索引擎状态…”显示保存的程序路径、实际连接实例、索引就绪和系统服务状态,并自动刷新。 保存程序路径不表示已建立连接,首次搜索时连接或启动;状态窗口区分已配置、未连接、索引加载、就绪和不可用。 只有选择 Everything 后才会按需连接或启动索引进程,普通列表查询通过 Unicode IPC 分页读取结果路径。

Everything 的快速全盘 NTFS 索引需要兼容服务或管理员权限。未安装服务时,可在 “≡ → 搜索 → 启用快速索引服务…”中授权启用 ZSDesk 专用服务。 普通权限下既没有兼容服务,也没有已配置可用索引时,搜索会提示设置;不会静默退回到遍历所有磁盘。 索引正在加载或建立时显示进度,就绪后自动执行查询,未就绪状态不会当作零结果。 索引范围、包含和排除规则由 Everything 管理, 未纳入其索引的位置不会出现在搜索结果中。 “≡ → 搜索 → 显示文件夹大小”默认关闭。开启后,普通文件夹可显示文件与文件夹的逻辑总大小,并在原列表中排序。 选择 Everything 且已有可用大小索引时优先读取索引;否则在后台只读计算,逐项显示完成结果,不建立额外文件名索引。 空文件夹显示零,未能完整读取的项目保持未知;不跟随目录链接,不修改文件内容或文件属性。 目录变化会触发更新,双栏分别保留排序与选中项,关闭开关恢复原生大小列及列宽。 每个视图最多计算 32,768 个项目,并限制项目快照占用;超过范围会说明原因并保留原生显示。 搜索结果、库和虚拟视图保留原生表现;“排序 → 文件夹大小概览…”提供独立概览。 Everything 保留原始程序和许可,位于 engines/everything/;发行包不包含 .ini、.db 或个人搜索数据。 Everything 后端需要保留完整引擎目录或指定可用程序;自带搜索不依赖 Everything。 桌面盒子独立版不提供文件名搜索,也不附带 Everything。

“≡ → 系统集成 → 开机启动与全局快捷键…”分别设置主窗口、后台快捷键和桌面格子的登录启动;全局快捷键默认为 Ctrl+Alt+Space。 快捷键打开独立快速搜索窗格并聚焦输入框;关闭后保留内存索引至空闲期限,重新打开可直接复用。 全局快捷键冲突会显示错误并保留设置入口;安装包默认不启用登录启动,索引服务由用户授权启用。

同一配置的文件窗口、桌面格子、快捷键与搜索请求管理共用一个 ZSdesk 进程,文件窗口关闭后复用原有 UI 线程。 桌面图标恢复监护单独运行,桌面线程或主进程异常结束时恢复系统图标;Office 预览宿主仅在预览期间运行。 文件位置转发辅助组件与 Everything 索引引擎按各自功能运行,关闭搜索不会退出用户原有的 Everything。

右侧预览窗格、空格及悬停预览使用独立预览宿主,优先调用系统预览处理器, 可选择系统默认、Office 优先或 WPS 优先,支持已注册的 32 位及 64 位处理器,并提供文本和图片回退。 组件缺失、关联失效或被系统禁用时显示具体状态,不更改系统文件关联,也不把解码器加载到主窗口进程。 Office 文档缺少可用插件时,可用已安装 WPS 只读渲染为临时 PDF;文档关闭后释放组件和临时文件。 预览宿主异常或加载超时不会阻塞文件管理窗口。 悬停预览默认关闭,可在“≡ → 预览与操作”中开启;停留后才显示,拖动和文字输入时不触发,不改变文件选区。 文本、图片尺寸及保留图像有边界,关闭预览释放文件流和显示资源。

右键菜单

主文件窗口和桌面格子的文件菜单在独立宿主中加载与执行,支持经典及可用的 Windows 11 样式。 空闲宿主有界复用,当前选区和命令在每次请求中重新核对;宿主异常会返回状态。 “≡ → 诊断日志…”打开独立的只读日志窗口,显示菜单阶段、异常代码与冷暖启动耗时,支持刷新和复制。 日志保留当前及上一代,仅保存于本机。

启用“默认用 ZSDesk 打开文件夹和磁盘”后,Win+E 同时打开 ZSDesk;程序未运行时会自动启动。 入口使用当前用户的 Explorer 启动命令;后台运行时提供 Win+E 兼容接管。 桌面“此电脑”具有独立的默认打开关联;原值及类型随接管设置备份,停用时恢复。

默认完整系统菜单使用公开 IContextMenu 接口,适用于 Windows 10/11,按文件类型和当前目录加载已注册的扩展。 Git、SVN、压缩软件及其它扩展由 Windows Shell 提供,没有预设厂商隐藏清单,也不先显示简化常用菜单。 格子的文件菜单在临时隔离进程中执行,加载超时或扩展异常会返回错误,主窗口与格子仍可继续使用。 “≡ → 右键菜单”控制菜单样式和显示的命令;格子读取相同的显示设置。

格子标题、右上角更多按钮和空白处打开格子管理菜单,提供锁定、重命名、主题、标签与启动设置。 其中“文件夹系统菜单…”打开所在文件夹的原生背景菜单;“所选项目”保留移动到格子等管理操作。 格子管理命令与 Windows 文件命令分别派发,避免命令编号冲突和点击错项。

“管理此处的完整右键菜单…”读取当前选择和目录实际提供的菜单项,勾选控制显示;显示子项时同时恢复其父菜单。 设置仅作用于 ZSDesk,不禁用其它程序或修改系统注册表;动态深层菜单保留系统原样,无法唯一识别的项不能隐藏。 可选 Windows 11 样式需要兼容的系统组件;不兼容版本直接使用完整系统菜单。自定义菜单规则使用完整系统菜单执行。 扩展菜单进程在执行命令后也可复用,连续右键无需重新启动进程;进程仍有对话框或剪贴板数据时不会被结束。 这些设置仅作用于 ZSDesk 内的菜单。

鼠标侧键分别向后、向前浏览文件夹;地址输入和文件重命名期间保留编辑状态。 鼠标驱动同时发送侧键与浏览命令时只导航一次。 复制、剪切先保存有界文件路径快照,粘贴和移动在独立操作队列中执行,保留系统进度、冲突处理、取消和撤销。 复制、移动、粘贴和新建完成后选中原窗格中的实际结果;用户切换目录或改变选区后,不以迟到结果覆盖当前选择。 格子的自动拾取可独立关闭;右键菜单、重命名和文件拖放期间保持展开,操作结束后恢复悬停收起。 外部文件拖到桌面空白处时保留为散放图标,按鼠标落点放置;拖入格子内部时加入对应格子。

Listary 快速切换

Listary 插件通过官方 FileAppPlugin 接口提供当前标签页已打开的文件夹。 适用于 Listary 6 和 7.0;Listary 7.1 已停止加载用户安装的集成插件,暂不支持此接入方式。 Listary 7.1 可使用随附 integrations/listary/Prepare-Listary7.ps1 生成目录打开及搜索结果定位的配置副本;这两项适配不依赖旧 DLL。 插件源码和部署步骤见 native/listary。启用后,在标准打开/保存对话框中 按 Listary 的 Ctrl+G 快速切换快捷键,可切换到当前 ZSDesk 文件夹。 搜索结果、虚拟系统位置和尚未完成的导航不作为快速切换目录。

双栏模式的“更多”菜单提供“复制到另一栏”和“移动到另一栏”,通过一次原生批量文件操作直接提交选中文件,保留系统进度、冲突处理和撤销记录,不改变剪贴板内容。

“预览与操作 → 空格预览方式”默认使用内置预览,也可选择自行安装并运行的 QuickLook;QuickLook 不可用时自动使用内置预览,编辑文件名及输入路径时仍按普通文本输入处理。QuickLook 不随 ZSDesk 安装。

音视频速览支持 Windows 媒体组件可解码的格式,并提供播放、暂停和进度定位;不支持的编码可用默认播放器打开。快速搜索窗格可从应用菜单打开,也可在搜索设置中启用全局快捷键,支持 Enter 打开结果、打开文件位置及 Esc 关闭。“关于 ZSDesk”提供检查更新和正式发布页入口。

桌面格子

桌面版和全量版可从主菜单启动格子,或执行 ZSDesk.exe --desktop。 桌面盒子独立版直接启动格子,配置保存在 %APPDATA%\ZSDesk-DesktopBox;安装标识和登录启动与其他版本独立。

  • 文件夹映射、桌面项目分组、手动排序、大小和屏幕位置。
  • 悬停临时展开,移开收起;双击固定展开,支持锁定和拖动。
  • 多标签:点标题栏「+」或把一个格子的标题拖到另一个格子的标题栏合并;点击、滚轮或 Ctrl+Tab 切换, 拖动标签排序,拖出标题栏成为独立格子。标签共用位置、大小、折叠和锁定,关闭标签不删除文件。
  • 图标/列表视图、主题、毛玻璃、透明度、托盘及桌面空白双击开关。
  • 标题文件数量默认隐藏,可在格子“外观”设置中启用。
  • 一键整理使用项目引用;删除格子不会删除文件。
  • 整理模式配有恢复进程,异常退出时恢复系统桌面图标。
  • 图标请求、冷缓存与绘图资源按可见状态回收。

腾讯桌面布局迁移只读取本机布局文件,保留分组、成员顺序和屏幕布局, 不移动原文件、不修改腾讯配置,也不分发腾讯程序或图形资源。

# 预览迁移报告;“-”表示自动查找本机腾讯布局。
ZSDesk.exe --import-tencent - --import-report "C:\Reports\layout.json"

# 退出 ZSDesk 格子后应用迁移;原配置保留为 desktop-fences.before-tencent.json。
ZSDesk.exe --import-tencent - --import-report "C:\Reports\layout.json" --apply-import

文件夹与应用接入

“≡ → 系统集成”提供不接管(按备份恢复系统设置)、增加右键入口和默认打开文件夹和磁盘。 操作仅涉及当前用户注册表;“此电脑”可由 ZSDesk 打开,其他系统虚拟文件夹保持原有默认处理方式。 默认接管同时登记文件夹和磁盘的 open、explore 动作,保存原始处理程序与隐藏标志,恢复时保留其他程序后续写入的设置。 运行中的默认配置通过标准 Shell 打开会话接收目录请求;WPS 文档标签的“打开文件位置”可创建目录标签并选中目标文件。 每个文件窗口的已完成导航标签登记到系统窗口集合,双栏分别登记;系统文件定位请求在对应窗格选中项目,Explorer 重启后重新登记。 “接管新出现的系统浏览窗口”监听新出现的单标签文件夹与“此电脑”,确认 ZSDesk 已完成导航、选区和必要的激活后关闭来源窗口。 准备阶段最多等待 8 秒,来源窗口保持可见;短暂隐藏期限为 800 毫秒,独立守护负责超时及异常恢复。 已有窗口、多标签窗口和用户已操作的窗口保留原状。文件选择接管由独立开关控制。

“≡ → 系统集成 → 接管文件选择窗口(多标签)”使用现有资源管理器的标签、地址栏、收藏和文件视图,底部提供文件名、文件类型、选择与取消。 支持标准 Windows 打开文件对话框中的本地及网络文件,保留调用方的单选、多选和文件类型,最多一次选择 256 项;结果由原应用校验和接收。 原生文件夹选择和上传目录窗口使用独立目录模式,可选择当前文件夹或选中的子文件夹,双击子文件夹继续浏览。 选择模式的标签与选区不覆盖普通文件窗口的会话。关闭接管会恢复尚未完成的系统选择窗口,异常退出由独立监护恢复。 保存、自绘及无法识别的对话框保持原有处理方式。

通用文件定位通过标准打开会话、系统窗口登记和新窗口转发处理,无需逐个登记应用。 “系统集成 → 文件位置转发”保留为可选兼容组件,可以发现和选择 Codex、微信及其他兼容的 x64 应用, 也可手动添加程序,然后一键启用所选应用。登录启动单独设置,默认关闭。 仅调用受支持 Windows 文件定位接口的应用可接入;程序身份和调用模块在本地校验。 应用升级或转发组件被占用时会提示重新发现或重启相应应用。

组件由源码构建,随安装包放在 routing/。默认不带应用绑定或个人路径; 启用时才在当前配置目录生成绑定。已有旧版配置可保留兼容转发。 多个配置目录使用独立窗口标识,避免将文件定位请求送到另一实例。 支持严格识别的系统 explorer.exe 文件导航进程启动;未知开关、调试或挂起启动等仍由系统处理。 少数程序通过辅助 DLL 打开文件夹,可在“补充程序组件”中明确选择该程序目录内的调用组件。 已加载旧组件的应用需要先关闭,再应用设置,最后重新打开;旧转发保持可用,不会强制结束应用。 组件和配置说明见 native/routing/README.md。

网络版和全量版支持系统 FTP、SMB/UNC,以及映射/断开网络驱动器、添加网络位置。 sftp:// 和 ssh:// 地址需要另行安装 SSHFS-Win 与 WinFsp。

数据

默认目录为 %APPDATA%\ZSDesk。程序旁的 portable.flag 使用相邻 data/ 目录, --profile-dir 可指定独立配置目录。 主题版默认使用 %APPDATA%\ZSDesk-Theme,安装目录、启动标识和配置与其他版本独立。 主题版可在“≡ → 主题与材质”中分别选择材质(跟随系统、Mica、亚克力、纯色)和颜色(跟随系统、浅色、深色);不支持材质效果的系统使用纯色背景。 地址栏输入 pwsh、powershell、nu 或 nushell 可在当前文件夹启动对应终端。

桌面布局、会话、搜索索引、应用绑定和系统接管备份仅保存于本机, 不包含在源代码、默认配置或发行包中。卸载保留个人数据,并仅恢复仍由当前安装拥有的系统集成。

功能边界

  • 文件列表、文件操作和虚拟目录复用 Windows Shell;本程序不替换系统任务栏、Shell 服务或其他应用的打开/保存对话框。
  • 标签页快照保存视图类型、图标大小、可见列顺序及宽度、排序、分组、焦点、滚动位置及最多 256 项选择(PIDL 总量 128 KiB);不支持相应接口的虚拟位置保留原生默认行为。
  • 文件名搜索按设置使用自带索引或 Everything,不建立文件内容索引;自带索引遵守开发缓存目录排除和读取权限,Everything 的范围与扩展语法由其索引设置决定。
  • 应用接入覆盖可识别的文件定位接口,不承诺接管每个软件的全部打开方式;SFTP/SSH 依赖 SSHFS-Win 与 WinFsp。
  • Windows 11 原生菜单及预览能力受系统版本和已安装扩展影响,未支持的菜单组件使用原版表现形式。

构建

需要 Windows x64、Rust MSVC 工具链、Visual Studio C++ 工具与 Windows SDK; 验证工具链为 Rust 1.99.0。打包使用 PowerShell 7,安装器需要 Inno Setup 6.3 或更新版本。 构建需要 Rust 1.89 或更新版本;持续集成使用 Rust 1.99。 VC Runtime 从 Visual Studio x64 Redist 目录获取。 Everything 使用固定版本的官方便携分发文件,来源与 SHA-256 记录在 packaging/engines/everything.json。-EverythingDir 指向包含原始程序、语言包、完整许可及该清单的目录。

ZSUI 按需启用原生窗口、虚拟列表、输入和快捷键等功能。其固定源码版本记录于 packaging/zsui-revision.txt,位于本仓库的同级 zsui/ 目录。

git clone https://github.com/qiu7824/zsdesk.git
git clone https://github.com/qiu7824/zsui.git
git -C zsui checkout (Get-Content zsdesk/packaging/zsui-revision.txt -Raw).Trim()
Set-Location zsdesk

$env:CARGO_TARGET_DIR = 'C:\Build\ZSDesk-target'
$env:CARGO_PROFILE_DEV_DEBUG = '0'
$env:CARGO_PROFILE_TEST_DEBUG = '0'
cargo test --workspace --release --locked
cargo build --release --locked -p zsdesk-app

# 可选功能版本
cargo build --release --locked -p zsdesk-app --no-default-features
cargo build --release --locked -p zsdesk-app --no-default-features --features network
cargo build --release --locked -p zsdesk-app --no-default-features --features desktop
cargo build --release --locked -p zsdesk-app --no-default-features --features themed
cargo build --release --locked -p zsdesk-app --no-default-features --features desktop-box

# 转发组件与六个发行版本
./native/routing/build.ps1 -OutputDir 'C:\Build\ZSDesk-routing' -BuildDir 'C:\Build\ZSDesk-routing-build'
./scripts/package.ps1 -WorkDir 'C:\Build\ZSDesk-package' -TargetDir $env:CARGO_TARGET_DIR `
    -RoutingDir 'C:\Build\ZSDesk-routing' -EverythingDir 'C:\Build\Everything-1.4.1.1032-x64' `
    -InnoCompiler 'C:\Program Files (x86)\Inno Setup 6\ISCC.exe'

打包器验证程序版本与 feature 身份,生成文件哈希清单,移除本机编译路径信息; 已有发行目录不会被静默覆盖。-Editions full,desktop 可选择部分版本, -RuntimeDir 可指定 Visual Studio Redist 下的 CRT 目录。 打包器逐项校验 Everything 的官方文件哈希与资源版本,仅复制固定的四个分发文件。

项目代码使用 MIT;ZSUI 使用 MPL-2.0,MinHook 使用 BSD-2-Clause。 Everything 及其 PCRE 组件的版权和完整许可见 Everything-1.4.1.1032-License.txt。 其余组件声明见 packaging/licenses/NOTICE.txt。

文档镜像归档自 GitHub 官方源路径 · 访问原项目 GitHub
最后同步快照:2026-11-15