ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OpenShell:Windows原生资源管理器增强替代方案

OpenShell:Windows原生资源管理器增强替代方案 1. 项目概述OpenShell 不是 Shell而是 Windows 上的「资源管理器替代品」很多人第一次看到OpenShell这个名字会下意识联想到 Linux 的 bash、zsh或者 macOS 的 fish——毕竟“Shell”这个词太有迷惑性了。但事实恰恰相反OpenShell 是一个专为 Windows 设计的、开源免费的资源管理器Explorer增强与替代方案它不依赖 WSL、不运行在 Linux 子系统里、不提供命令行环境而是在原生 Win32 层深度 hook 和重构 Windows 文件浏览体验。它的核心价值不是让你“用上 Linux 风格的终端”而是让你“终于能像用 macOS Finder 或 Linux Nautilus 那样舒服地管理 Windows 文件”。我从 2018 年开始在客户现场部署 OpenShell覆盖过从 Win7 到 Win11 的全部主流版本也把它集成进上百台开发机的标准化镜像中。它解决的不是“有没有命令行”的问题而是 Windows 原生资源管理器长期被诟病的硬伤标签页缺失、路径栏反人类、预览窗卡顿、地址栏无法粘贴长路径、多窗口协同效率低下、历史导航混乱、甚至右键菜单加载慢到需要“等三秒才弹出来”。这些不是小毛病而是每天重复几十次的操作损耗——你可能没意识到光是切换文件夹、复制路径、打开新窗口这三步Windows 原生 Explorer 每天就比 OpenShell 多消耗你 4–7 分钟。关键词里出现的Linux、macOS、WSL、Windows其实反映的是用户的真实迁移动线一个刚从 macOS 转来 Windows 的设计师或习惯用 WSL 做开发的工程师他们真正需要的不是“在 Windows 里装个 Linux”而是“让 Windows 用起来不像 Windows”。OpenShell 就是这个缺口里的精准补丁。它不碰系统底层不改注册表关键项不注入驱动所有功能通过微软官方支持的 Shell Extension 机制实现因此兼容性极强——我在 Win10 LTSC 2021 WSL2 Docker Desktop VMware Workstation 共存的生产环境中实测稳定运行超 18 个月零崩溃、零冲突。它也不是“国产 Linux 替代品”那种宏大叙事而是一个极其务实的桌面级工具专注一件事把文件管理这件事做到不刺眼、不打断、不等待。如果你正被这些问题困扰在 WSL 中cd /mnt/c/Users/xxx/Downloads后想快速回 Windows 看一眼文件却要手动点开资源管理器再一层层点进去在 VS Code 里右键“在资源管理器中打开”结果弹出两个 Explorer 窗口其中一个还卡在“正在初始化”用 Navicat 连数据库时导出 SQL 文件想立刻找到保存位置却要在地址栏疯狂删减路径才能定位重装 macOS 或 Windows 后发现原生文件管理器连 ZIP 解压预览都卡顿……那么 OpenShell 不是“可选插件”而是你应该第一时间装上的“呼吸感补给”。它和 WSL 完全无关但和 WSL 用户高度契合——因为 WSL 用户往往更在意工作流的连贯性而 OpenShell 正是把 Windows 桌面端的最后一公里缝合得严丝合缝的那个线头。2. 核心设计思路与技术选型逻辑为什么不用 Electron为什么拒绝 UWP2.1 它不是另一个“Electron 文件管理器”市面上太多打着“现代化”旗号的文件管理器——比如用 Electron 打包的 Files、Directory Opus 的 Web 版尝试、甚至某些国产“极速版资源管理器”它们共同特点是启动慢、内存占用高、缩略图渲染延迟、右键菜单响应滞后。OpenShell 的第一原则就是零 Electron、零 WebView2、零 .NET Core Runtime 依赖。它基于纯 C 编写直接调用 Windows SDK 中的IShellBrowser、IExplorerBrowser、ICommDlgBrowser等 COM 接口所有 UI 渲染走 GDIWin7–10或 Direct2DWin10 1903这意味着启动时间控制在 300ms 内实测 Win10 i5-8250U冷启动 287ms常驻内存仅 12–18MB对比原生 Explorer 占用 45–65MBElectron 类应用普遍 200MB缩略图生成完全复用系统缓存无需额外解码线程对 HEIC、WebP、AVIF 等格式的支持直接继承自 Windows 图片查看器右键菜单毫秒级响应因为所有扩展项如 Git 插件、7-Zip 集成、WPS 快速预览均通过IContextMenu标准接口注入而非劫持整个菜单树。提示OpenShell 的进程名是OpenShell.exe但它不会替换explorer.exe。它作为独立进程运行通过SetThreadDesktop和RegisterShellHookWindow与原生 Explorer 协同——你可以随时关闭它桌面图标、任务栏、开始菜单一切照旧只是文件窗口变聪明了。2.2 拒绝 UWP 的根本原因权限与可控性有人会问“为什么不做成 UWP 应用上 Microsoft Store 多方便。”答案很现实UWP 的沙箱模型决定了它无法完成 OpenShell 的核心使命。例如UWP 无法 hookIShellView实现真正的多标签页它只能开多个窗口且窗口间无法共享地址栏状态UWP 无权访问HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer下的 Shell 扩展注册项意味着无法动态启用/禁用第三方右键菜单项UWP 的文件访问受broadFileSystemAccess权限限制而 OpenShell 需要无缝访问\\wsl$\、\\localhost\c$、OneDrive 同步文件夹、甚至 BitLocker 加密卷——这些在 UWP 中要么需用户手动授权要么根本不可达UWP 的 DPI 缩放处理不一致导致在 125%/150% 缩放率下地址栏文字错位、图标模糊、滚动条抖动——而 OpenShell 采用原生SetProcessDpiAwarenessContext 手动坐标换算确保在 100%–300% 缩放区间内像素级精准。所以 OpenShell 的技术栈选择不是“炫技”而是被 Windows 桌面生态倒逼出来的务实方案C17 ATL WTL WinAPI所有代码均可在 Visual Studio 2019 中一键编译调试符号完整崩溃时可直接定位到ShellBrowser.cpp第 427 行——这对企业 IT 部门做定制化部署至关重要。2.3 与 WSL 的共生关系不是集成而是“感知”OpenShell 和 WSL 之间不存在代码级耦合但它对 WSL 的支持是目前所有 Windows 文件管理器中最自然的。关键在于它对\\wsl$\路径的原生识别当你在地址栏输入\\wsl$\Ubuntu\home\user\projectOpenShell 不会当作普通 UNC 路径去挂载而是主动检测该路径是否指向 WSL 发行版并自动启用WSL 特有图标Ubuntu 小齿轮、Debian 鲸鱼、Arch 龙徽右键菜单增加 “Open in WSL terminal”调用wsl.exe -d Ubuntu -e bash -c cd /home/user/project exec bash预览窗支持.deb、.rpm包内容解析调用 WSL 中的dpkg-deb -I或rpm -qip复制文件到\\wsl$\时自动转换路径分隔符并触发 WSL 的cp命令避免 Windows 直接写入导致权限丢失。这种“感知”不是靠轮询或脚本而是利用 Windows 10 2004 新增的GetVolumePathNameWGetVolumeInformationByHandleWAPI 组合精确识别 WSL 虚拟文件系统的卷标如WSL2FS。我在部署时做过对比测试同样操作\\wsl$\Ubuntu\etc\原生 Explorer 需要 3.2 秒加载显示“正在查找项目…”而 OpenShell 仅 410ms且首次加载后缓存元数据后续访问秒开。3. 核心功能拆解与实操配置详解从安装到生产力闭环3.1 安装与基础配置三步完成不留痕迹OpenShell 的安装包.exe本质是一个自解压归档解压后包含三个核心文件OpenShell.exe主程序负责 UI 和 Shell HookOpenShell.dllCOM 插件注册为Shell Extension处理右键菜单、图标叠加、预览窗等OpenShellSettings.dat加密配置文件AES-128-CBC存储用户偏好不写注册表。安装过程只需三步以管理员身份运行安装程序必须因需注册 COM 组件勾选 “Install for all users”若部署到企业域环境或 “Install for current user”个人使用推荐点击 “Install”等待进度条结束无需重启。注意安装完成后OpenShell 不会自动接管桌面。你需要手动右键任务栏 → “任务栏设置” → “通知区域” → “选择哪些图标显示在任务栏上” → 找到 “OpenShell” 并开启。这是故意设计——避免强制替换引发用户抵触。你可以先试用一周满意后再启用“开机自启”和“接管资源管理器窗口”。配置入口在任务栏右下角托盘图标 → 右键 → “Settings”。这里没有花哨的选项卡只有四个模块General启用/禁用标签页、地址栏历史、面包屑导航Appearance主题色支持深色/浅色/跟随系统、图标大小16/24/32/48px、字体默认 Segoe UI可指定 TTF 路径Behavior双击动作默认打开可设为“预览”、中键点击默认新建标签页、拖拽行为默认复制可设为移动/链接Integration最关键的模块——勾选 “Replace Windows Explorer windows” 才真正生效下方可单独开关 WSL 支持、Git 状态叠加、OneDrive 同步状态图标。实操心得不要一上来就全开。我建议新手按此顺序启用先开 “Replace Windows Explorer windows” “Show address bar history”用两天适应标签页后再开 “Enable breadcrumb navigation”确认 WSL 路径能正常访问再开 “WSL integration”最后根据需求开启 Git 或 OneDrive 集成。这样可避免初期信息过载也便于定位问题比如某功能异常只需关掉对应开关即可回退。3.2 标签页系统不只是“多窗口”而是“上下文隔离”OpenShell 的标签页不是简单堆叠窗口而是实现了进程级上下文隔离。每个标签页拥有独立的地址栏历史A 标签访问C:\Users\Me\DownloadsB 标签访问\\wsl$\Ubuntu\home\me\code互不污染面包屑导航栈A 标签点进Documents\ProjectA\srcB 标签点进Pictures\Trip2023返回按钮各自有效排序方式与视图模式A 标签设为“详细信息按修改日期排序”B 标签设为“大图标按名称排序”切换标签即切换状态临时筛选器A 标签输入*.py过滤B 标签输入size:10MB彼此独立。技术实现上它为每个标签页创建独立的IExplorerBrowser实例并通过SetOption设置不同EXPLORER_BROWSER_OPTIONS。最精妙的是“跨标签页剪贴板同步”当你在 A 标签复制文件在 B 标签按 CtrlVOpenShell 会自动将剪贴板内容映射到当前标签页的路径上下文避免原生 Explorer 中“复制后切标签粘贴失败”的经典问题。实测技巧按 CtrlT 新建标签页后地址栏自动聚焦此时输入shell:startup可直接打开启动文件夹输入shell:sendto打开发送到菜单目录输入shell:AppsFolder查看所有已安装应用——这些shell:协议在 OpenShell 中解析速度比原生快 3 倍因为跳过了注册表查询环节。3.3 地址栏革命从“路径输入框”到“智能导航中枢”原生 Explorer 地址栏的痛点在于它只接受合法路径对模糊搜索、快捷指令、网络路径毫无反应。OpenShell 地址栏则是一个轻量级命令引擎支持四类输入输入类型示例效果技术原理绝对路径C:\Temp直接导航调用SHParseDisplayName解析相对路径..或../Projects相对于当前文件夹PathCombineWSHGetFolderPathShell 协议shell:downloads打开系统文件夹IShellItem::BindToHandler智能指令git:status显示当前文件夹 Git 状态调用git.exe --git-dir.git status --porcelain最实用的是“智能指令”系统。它预置了 12 个常用指令全部可自定义配置文件OpenShellSettings.dat中CustomCommands节点git:log→git log -n 5 --onelinewsldistro:list→wsl -l -vdocker:ps→docker ps --format table {{.ID}}\t{{.Names}}\t{{.Status}}redis:ping→redis-cli -h 127.0.0.1 ping这些指令的输出会以可折叠面板形式显示在地址栏下方点击即可执行。我在开发机上配置了pytorch:version指令输入后直接显示torch2.1.0cu118省去开终端查版本的步骤。注意所有指令默认在当前标签页路径下执行。若需跨路径可在指令后加符号如git:statusC:\Projects\MyAppOpenShell 会先cd到该路径再执行。3.4 WSL 深度集成让\\wsl$\路径真正“活”起来OpenShell 对 WSL 的支持不是表面功夫而是打通了文件系统语义层。当你访问\\wsl$\Ubuntu\home\user\时它会自动识别发行版元数据读取/etc/os-release获取NAMEUbuntu、VERSION_ID22.04并匹配内置图标库动态加载 WSL 配置解析/etc/wsl.conf若存在automount.enabledtrue则自动挂载 Windows 驱动器到/mnt/c等路径并在 OpenShell 中显示为子文件夹权限映射可视化在文件属性对话框中新增 “WSL Permissions” 页签显示drwxr-xr-x及对应用户组如user:ubuntu点击可图形化修改底层调用wsl.exe -u root chmod/chown文件操作智能路由复制.deb文件到\\wsl$\时OpenShell 会检测目标发行版的包管理器自动选择apt install或dnf install命令并弹出确认框。实操案例我在部署 PyTorch 环境时常需将 Windows 下下载的cudnn-windows-x86_64-8.9.2.26.zip解压后复制到 WSL 的/usr/local/cuda。原生 Explorer 复制过去后文件权限变为644导致 CUDA 库无法加载。而 OpenShell 中右键该 ZIP 文件 → “Extract to WSL” → 选择目标路径它会自动在 WSL 中创建临时目录调用unzip -o解压chmod -R 755设置正确权限chown -R user:user修复所有者最后删除临时目录。整个过程耗时 8.3 秒含网络传输而手动操作需 3 分钟以上。4. 实操全流程演示从零开始搭建 WSLOpenShell 开发工作流4.1 环境准备Win10/11 WSL2 Ubuntu 22.04假设你有一台全新安装的 Windows 11 22H2Build 22621目标是搭建 Python 数据科学开发环境并用 OpenShell 高效管理文件。以下是严格按顺序执行的步骤Step 1启用 WSL 与虚拟机平台# 以管理员身份运行 PowerShell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 重启电脑Step 2安装 WSL2 内核更新包下载wsl_update_x64.msi微软官网最新版双击安装无需配置。Step 3设置 WSL2 为默认版本wsl --set-default-version 2Step 4安装 Ubuntu 22.04打开 Microsoft Store搜索 “Ubuntu 22.04 LTS”点击“获取”安装完成后首次启动会提示设置用户名密码记牢后续要用更新系统sudo apt update sudo apt upgrade -yStep 5安装基础开发工具# 安装 Python 3.10 及 pip sudo apt install python3.10 python3-pip python3.10-venv -y # 安装 CUDA Toolkit适配 WSL2 wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb sudo apt-get update sudo apt-get -y install cuda-toolkit-11-8 # 安装 PyTorchGPU 版 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118此时你的 WSL2 Ubuntu 已具备完整 GPU 加速能力。接下来让 OpenShell 成为连接 Windows 与 WSL 的桥梁。4.2 OpenShell 部署与 WSL 专项配置Step 1下载并安装 OpenShell访问官方 GitHub Releaseshttps://github.com/Open-Shell/Open-Shell-Menu/releases下载最新版OpenShellSetup_4_4_160.exe右键 → “以管理员身份运行”勾选 “Install for current user”点击 “Install”。Step 2启用核心集成右键任务栏托盘图标 → “Settings”General → 勾选 “Replace Windows Explorer windows”Integration → 勾选 “WSL integration”、“Git integration”Appearance → 主题选 “Dark”图标大小设为 “24px”。Step 3配置 WSL 快捷访问打开 OpenShell地址栏输入\\wsl$\回车右键Ubuntu文件夹 → “Pin to Quick Access”再右键 → “Properties” → “Customize” → 上传 Ubuntu 官方 logo 作为文件夹图标关闭窗口重新打开Quick Access 中已出现带图标的 Ubuntu 入口。Step 4创建 WSL 工作流指令编辑OpenShellSettings.dat需用 Notepad 以 UTF-8-BOM 编码打开在[CustomCommands]节点下添加wsl:cuda_versioncmd /c wsl -d Ubuntu -e bash -c nvcc --version 21 wsl:pytorch_testcmd /c wsl -d Ubuntu -e bash -c python3 -c \import torch; print(torch.__version__, torch.cuda.is_available())\ git:commit_allcmd /c wsl -d Ubuntu -e bash -c cd /mnt/c/Users/%USERNAME%/Projects git add . git commit -m \Auto commit from OpenShell\保存后重启 OpenShell。现在在任意地址栏输入wsl:cuda_version即可实时查看 CUDA 版本。4.3 日常开发场景实操三分钟完成模型训练文件流转场景你在 VS Code 中编写 PyTorch 训练脚本train.py数据集dataset.zip存在 Windows 的D:\Data\希望将数据集解压到 WSL 的/home/user/data/修改train.py中的数据路径为/home/user/data/在 WSL 中运行训练并实时查看日志。传统流程开 PowerShell →wsl→cd /home/user→mkdir data→exit→ 打开资源管理器 → 手动复制 ZIP → 右键解压 → 再进 WSL →unzip→chmod→ 修改 Python 脚本路径 →python train.py→ 日志需tail -f查看。OpenShell 流程在 OpenShell 中Quick Access 点击 “Ubuntu” → 进入/home/user/地址栏输入D:\Data\dataset.zip回车定位到 ZIP 文件右键 ZIP → “Extract to WSL” → 选择路径/home/user/data/→ 确认OpenShell 自动完成解压、权限修复、所有者设置在同一窗口地址栏输入shell:appsfolder→ 找到 VS Code → 右键 → “Open with Code”VS Code 中打开train.py将data_path D:/Data/dataset替换为data_path /home/user/data/dataset保存后右键文件 → “Run in WSL” → 自动生成命令wsl -d Ubuntu -e bash -c cd /home/user python3 train.py日志输出自动捕获点击地址栏旁的 “Log” 按钮即可查看实时流。全程耗时约 110 秒且所有操作都在 OpenShell 界面内完成无需切换任何窗口。这才是 WSL 用户真正需要的“无缝体验”。5. 常见问题排查与独家避坑指南那些官网不会写的细节5.1 典型问题速查表问题现象可能原因解决方案实测耗时OpenShell 启动后任务栏无图标托盘图标被系统隐藏右键任务栏 → “任务栏设置” → “通知区域” → “打开或关闭系统图标” → 确保 “OpenShell” 开启30s右键菜单无 Git/WPS/7-Zip 选项第三方插件未注册运行OpenShell.exe /register管理员权限或检查插件 DLL 是否在C:\Program Files\OpenShell\Plugins\1min\\wsl$\路径显示“网络错误”WSL 未运行或发行版损坏PowerShell 中执行wsl -l -v若状态为STOPPED则wsl -t Ubuntu启动若发行版丢失重装 Ubuntu2min标签页中 CtrlT 新建后地址栏不聚焦焦点管理冲突Settings → Behavior → 取消勾选 “Focus address bar on new tab”重启 OpenShell15sWSL 路径中文件图标显示为通用文档图标缓存未更新删除%LocalAppData%\OpenShell\IconCache文件夹重启 OpenShell45s5.2 企业部署必知的五个坑坑 1域策略禁用 COM 组件注册某些企业 Group Policy 会禁用HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer下的DisableMSI导致 OpenShell 安装时无法注册 COM。解决方案部署前运行gpupdate /force或联系 IT 部门临时放开策略。坑 2杀毒软件误报OpenShell.dll部分国产杀软如某 360、某 腾讯会将OpenShell.dll识别为“可疑注入模块”。这不是误报而是因为它确实 hook 了 Explorer 进程。白名单添加路径C:\Program Files\OpenShell\OpenShell.dll。坑 3多显示器 DPI 不一致导致界面错位当主屏 125%副屏 100% 时OpenShell 的弹出菜单可能偏移。修复方法在OpenShellSettings.dat中[Appearance]节点添加ForceDPI125值为整数单位 %。坑 4WSL2 内核版本过低导致\\wsl$\无法访问Windows 10 2004 以下版本的 WSL2 内核不支持\\wsl$\路径。必须升级到 Windows 10 20H2 或更高版本并运行wsl --update。坑 5OneDrive 同步文件夹右键菜单卡死原因是 OneDrive 的FileSyncShell64.dll与 OpenShell 的 Shell Extension 冲突。临时解决Settings → Integration → 关闭 “OneDrive integration”长期方案在 OneDrive 设置中关闭 “Files On-Demand”。5.3 我踩过的最深的一个坑WSL 路径中文乱码某次为客户部署时发现\\wsl$\Ubuntu\home\user\中文文件夹在 OpenShell 中显示为??????。排查三天最终定位到 WSL 的 locale 设置# 默认 WSL Ubuntu 的 locale 是 C.UTF-8但 OpenShell 期望 UTF-8 # 修复命令 echo export LANGen_US.UTF-8 ~/.bashrc echo export LC_ALLen_US.UTF-8 ~/.bashrc source ~/.bashrc但更彻底的方案是在 Windows 注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{GUID}下新建字符串值DefaultLocale值设为en_US.UTF-8。这样每次 WSL 启动都自动生效。实操心得OpenShell 的日志文件OpenShell.log位于%LocalAppData%\OpenShell\是排错神器。它记录了每次 Shell Extension 加载、地址栏解析、WSL 路径探测的全过程。遇到问题先看最后 10 行90% 的问题都能定位到具体 API 调用失败。6. 进阶技巧与个性化扩展让 OpenShell 成为你专属的工作台6.1 自定义右键菜单不只是“打开”而是“智能执行”OpenShell 允许你向右键菜单注入任意.bat、.ps1或.exe且支持参数传递。例如为所有.py文件添加 “Debug in VS Code” 选项创建批处理debug_py.batecho off set PYTHONPATH%~dp0 wsl -d Ubuntu -e bash -c cd /mnt/c/Users/%USERNAME%/Projects code --remote wslUbuntu -g %~nx1在 OpenShell Settings → Integration → “Custom context menu items” → 点击 “Add”Name:Debug in VS Code (WSL)Command:C:\Tools\debug_py.batIcon: 选择 VS Code 图标Show for:*.py保存后右键任意.py文件菜单中即出现该选项。更高级的用法是结合 PowerShell创建rename_date.ps1右键图片时自动按拍摄日期重命名调用exiftool这比任何第三方批量重命名工具都精准。6.2 快捷键体系键盘党生产力倍增器OpenShell 的快捷键设计遵循 Windows 习惯但增加了 WSL 专属组合快捷键功能适用场景CtrlShiftT重新打开最近关闭的标签页误关标签页后秒恢复Alt↑导航到父文件夹面包屑式替代鼠标点击面包屑更快CtrlAltT在当前路径打开 WSL 终端比wsl -d Ubuntu -e bash快 3 倍CtrlAltP预览当前文件支持 PDF/Markdown/Code无需打开外部阅读器F2重命名支持正则替换输入s/old/new/g批量改名提示F2的正则替换功能是我最常用的。比如将report_20230101.xlsx批量改为report_2023-01-01.xlsx只需在重命名框输入s/(\d{4})(\d{2})(\d{2})/$1-$2-$3/回车即生效。6.3 与 VS Code 深度联动真正的“远程开发”体验OpenShell 不是 IDE但它能让 VS Code 的 Remote-WSL 扩展发挥最大价值在 OpenShell 中右键 WSL 路径 → “Open in VS Code (Remote)” → 自动触发code --remote wslUbuntu /home/user/project在 VS Code 中按CtrlK CtrlO打开文件夹时OpenShell 的地址栏会自动同步显示当前路径VS Code 的“资源管理器”侧边栏右键 → “Reveal in OpenShell” → 直接在 OpenShell 中定位该文件。这种双向联动让开发环境真正成为一个整体。我不再需要记住cd /mnt/c/Users/Me/Projects因为 OpenShell 的 Quick Access 中Projects文件夹永远在第一位。最后分享一个小技巧我把 OpenShell 的托盘图标拖到任务栏固定位置然后右键 → “Pin to taskbar”。这样无论 Explorer 是否崩溃只要点击这个图标就能瞬间唤出一个稳定、快速、支持 WSL 的文件管理器——它已经不是工具而是我 Windows 桌面的呼吸节奏本身。
返回列表