evalfun
V2EX  ›  Windows

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

  •  
  •   evalfun · 3 days ago · 4333 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

    28 replies  •  2026-10-20 14:51:19 +08:00
    evalfun
        1
    evalfun  
    OP
       3 days 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  
       3 days ago   ❤️ 1
    为什么没有人写一个 macos 的的文件管理,明明访达被诟病的挺多的
    yeyeye
        3
    yeyeye  
       3 days ago   ❤️ 1
    然后实习生也在 V2 ,看到了这个帖子
    iorilu
        4
    iorilu  
       3 days ago
    吓一跳, 我以为你重写 windows 这个功能替换了
    zoofy
        5
    zoofy  
       3 days ago
    @yusf 早上看到帖子好像有人写了,finder nav 啥的
    jkjoke
        6
    jkjoke  
       3 days ago
    相比于 win11 的资源管理器确实快,能不能设置起始页?

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

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


    @godall 不打算加载 shell 拓展,加载了可能会卡。只打算让原版右键菜单可用。批量删除大量文件会在下个版本优化
    kirbyzhu
        14
    kirbyzhu  
       3 days ago via iPhone
    @yusf 有一个 版里有推 tessoa 我用了感觉很不错
    stonesirsir
        15
    stonesirsir  
       3 days ago
    从我有一个朋友 -> 公司有一个实习生?
    mkroen
        16
    mkroen  
       3 days ago
    资源管理器都做了,要不再进一步,发动大伙一起重构个 vindows
    chunqiuyiyu
        17
    chunqiuyiyu  
       3 days ago
    Win11 我实在受不了那个卡死人的文件资源管理器,目前还在用 Win10 。幸好有 AI ,扩展了原生的管理器,加了多标签页,用着还行。
    leena
        18
    leena  
       3 days ago via iPhone
    这个 ui 还能重构么,11 的太平了,不够精致😂
    penzi
        19
    penzi  
       3 days ago
    细节太粗糙,还不如用 avalonia
    omL72EEc
        20
    omL72EEc  
       3 days ago via Android
    V 站现在发帖还要拼谁更标题党了?
    geelaw
        21
    geelaw  
       3 days 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  
       3 days ago
    我就感觉到快

    发现个可优化的地方,窗口最大化时鼠标移到屏幕最上无法双击还原窗口,但右上角控制按钮却没问题。
    建议再来个双击标签时关闭标签,关闭按钮都可以隐藏。
    evalfun
        23
    evalfun  
    OP
       3 days ago
    @geelaw 我也发现了,打开系统右键菜单比原版 explorer 慢个 0.几秒,后续优化一下
    iceAD
        24
    iceAD  
    PRO
       3 days ago
    @yusf 试试 tessoa😊
    byasm32
        25
    byasm32  
       3 days ago
    试用了一下,很不错啊。至少速度快了。。
    希望能持续更新。
    cxsz
        26
    cxsz  
       2 days ago
    OneDrive 的支持不太好,原版的 explorer 侧栏有入口,能显示里面的文件是云端还是本地
    wnpllrzodiac
        27
    wnpllrzodiac  
       2 days ago
    @godall 资深测试专家
    aiche8848
        28
    aiche8848  
       2 days ago
    试试这个,5 M 左右大小
    https://youngsam.net/zh/programs/pane



    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5226 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 01:20 · PVG 09:20 · LAX 18:20 · JFK 21:20
    ♥ Do have faith in what you're doing.