evalfun
V2EX  ›  Windows

实习生说他 token 太多了用不掉,于是我忽悠他重构了 windows 资源管理器的文件管理功能

  •  
  •   evalfun · 12h 10m ago · 2938 views

    背景信息

    有一天实习生在这无所事事,我就问他:

    你的 token 多不多?你的 Windows 资源管理器卡不卡?

    于是他立即明白了我的意思,直接掏出 codex 就开始重构资源管理器!

    重构产品

    产品名称就叫 rust-explorer

    目标

    实现 Windows 资源管理器的文件管理功能,提供一个非常流畅而且保留原汁原味的文件管理功能,可以加入一些简单实用的调整,但是不会实现与原版资源管理器差异过大的功能。

    兼容性

    为了保持流畅,此项目不对原版 explorer 的拓展方式做过多兼容,例如预览,主页的自定义驱动器例如 WPS 网盘等内容。只对右键菜单和文件管理体验进行兼容。

    技术栈

    rust+gpui

    缺点

    • gpui 框架成也 gpu ,败也 gpu
      在没有 gpu 的电脑上运行非常卡而且 CPU 使用率非常高。
      在有 gpu 的电脑上运行非常流畅

    以后打算使用 qt 再重构一版专门给没有 gpu 的电脑用

    项目地址

    https://github.com/Mingcodeingmiao/rust-explorer

    23 replies  •  2026-10-19 20:36:16 +08:00
    evalfun
        1
    evalfun  
    OP
       12h 2m ago
    <blockquote class="imgur-embed-pub" lang="en" data-id="a/OuxKTfm" data-context="false" ><a href="//imgur.com/a/OuxKTfm"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>
    yusf
        2
    yusf  
       11h 55m ago   ❤️ 1
    为什么没有人写一个 macos 的的文件管理,明明访达被诟病的挺多的
    yeyeye
        3
    yeyeye  
       11h 54m ago   ❤️ 1
    然后实习生也在 V2 ,看到了这个帖子
    iorilu
        4
    iorilu  
       11h 50m ago
    吓一跳, 我以为你重写 windows 这个功能替换了
    zoofy
        5
    zoofy  
       11h 48m ago
    @yusf 早上看到帖子好像有人写了,finder nav 啥的
    jkjoke
        6
    jkjoke  
       11h 41m ago
    相比于 win11 的资源管理器确实快,能不能设置起始页?

    wweir
        7
    wweir  
       11h 36m ago
    @yusf #2 替不了,类似的东西很多,但跟 Windows Explorer 一样,替不了
    evalfun
        8
    evalfun  
    OP
       11h 30m ago
    @jkjoke 目前只支持开始时打开此电脑,没有实现主文件夹这个功能

    @wweir 只能替代资源管理器的文件管理功能,类似第三方的 files
    youknowsomething
        9
    youknowsomething  
       11h 25m ago
    你这和原版长得好像啊。话说我用那些功能拓展软件,比如文件缩略图的,空格预览的软件,本来是拓展原版资源管理器的,在你这个上面能使用吗?
    godall
        10
    godall  
       11h 24m ago
    少了好多功能,最大的应该是没有加载 shell 扩展,这个可以速度快不少,还有各种特定文件图标和 namaspace 都没有,功能单一所以快。
    另外,一个批量删除大量文件,直接把程序干成无响应了。
    evalfun
        11
    evalfun  
    OP
       11h 23m ago
    @youknowsomething 不一定行,我们的目标是像素级复刻原版的 explorer 并且保证流畅度,没有对拓展性做兼容。对拓展性做兼容就容易卡了
    jkjoke
        12
    jkjoke  
       11h 15m ago
    @evalfun #8 没看到哪里设置,现在打开是软件所在目录,没有此电脑
    evalfun
        13
    evalfun  
    OP
       11h 7m ago
    @jkjoke 这个功能还真没留意,最近一直在复刻界面,下个版本加上


    @godall 不打算加载 shell 拓展,加载了可能会卡。只打算让原版右键菜单可用。批量删除大量文件会在下个版本优化
    kirbyzhu
        14
    kirbyzhu  
       10h 36m ago via iPhone
    @yusf 有一个 版里有推 tessoa 我用了感觉很不错
    stonesirsir
        15
    stonesirsir  
       10h 35m ago
    从我有一个朋友 -> 公司有一个实习生?
    mkroen
        16
    mkroen  
       10h 25m ago
    资源管理器都做了,要不再进一步,发动大伙一起重构个 vindows
    chunqiuyiyu
        17
    chunqiuyiyu  
       10h 18m ago
    Win11 我实在受不了那个卡死人的文件资源管理器,目前还在用 Win10 。幸好有 AI ,扩展了原生的管理器,加了多标签页,用着还行。
    leena
        18
    leena  
       8h 12m ago via iPhone
    这个 ui 还能重构么,11 的太平了,不够精致😂
    penzi
        19
    penzi  
       7h 39m ago
    细节太粗糙,还不如用 avalonia
    omL72EEc
        20
    omL72EEc  
       7h 21m ago via Android
    V 站现在发帖还要拼谁更标题党了?
    geelaw
        21
    geelaw  
       7h 13m ago via iPhone   ❤️ 1
    随便看了一眼,只能说非常业余而且模型可能选得也是一团糊。就拿 native_preview 里一些 COM 、WinRT 、快捷方式的处理来说吧:

    GUI 线程的 COM 、WinRT 必须选择单线程套间,尤其是 CLSID_ShellLink 等 shell 相关的对象,它们仅支持 STA 。仓库代码使用的是 MTA ,这会有两种可能的结果,一是初始化为 MTA 的时候失败(因为线程已经处于 STA )并被静默忽略,二是初始化为 MTA 成功,然后建立 ShellLink 对象的时候自动建立新 STA 线程并封送之后每一个 COM 调用。

    结果:比 Explorer 慢。

    然后就是检查文件是否是快捷方式的代码,是查看扩展名是否为 lnk ,这当然是完全错误的,正确做法是使用文件关联查询 API 。
    miaomiao888
        22
    miaomiao888  
       7h 12m ago
    我就感觉到快

    发现个可优化的地方,窗口最大化时鼠标移到屏幕最上无法双击还原窗口,但右上角控制按钮却没问题。
    建议再来个双击标签时关闭标签,关闭按钮都可以隐藏。
    evalfun
        23
    evalfun  
    OP
       7h 9m ago
    @geelaw 我也发现了,打开系统右键菜单比原版 explorer 慢个 0.几秒,后续优化一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   976 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 19:45 · PVG 03:45 · LAX 12:45 · JFK 15:45
    ♥ Do have faith in what you're doing.