用 AI 写了一个纯 Rust 构建的类 Typora 的 md 编辑器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
blushyes

用 AI 写了一个纯 Rust 构建的类 Typora 的 md 编辑器

  •  
  •   blushyes
    Blushyes 19 天前 2056 次点击

    如题,为了测试 AI 在 Rust 上的潜力,我最近尝试着构建了好几个纯 Rust 的应用,其中有一个就是这个 md 编辑器,还有就是 sofast-rs ,纯 Rust 版本的如快启动器。

    这个 md 编辑器经过两天的打磨,从最开始的光标乱跳,到现在编辑体验基本完成,再到支持表格、代码高亮、vim 模式( Shift + Tab 可切换 vim 模式),效果确实还不错,于是发出来给各位品鉴一下,顺便看看还有哪些问题。

    https://rmd.sofast.xin

    18 条回复    2026-04-06 21:18:42 +08:00
    malusama
        1
    malusama  
       19 天前
    没有 mac 版本的吗? 默认下载好像是 exe
    blushyes
        2
    blushyes  
    OP
       19 天前
    @malusama 有的,是跨平台的,甚至最开始就是用 mac 去开发的,只是最近几天身边没 mac ,只能用 Windows 开发,所以也只打包了 Windows ,过几天有 mac 了才好打包 mac
    blushyes
        3
    blushyes  
    OP
       19 天前
    @malusama 我刚用 github action 打包了一个 mac apple 的,现在官网可以下载了,不过 mac 版本的 title bar 我目前不清楚是啥样式的,估计会比较丑
    dingawm
        4
    dingawm  
       19 天前
    打开提示损坏,不知道是不是我的电脑问题,之前下载 cursor arm 版也是这样,换成 cursor universal 才成功打开了
    dingawm
        5
    dingawm  
       19 天前
    M1 MBA
    blushyes
        6
    blushyes  
    OP
       19 天前
    @dingawm 没有在 app store 里面的软件都是这样的,一般两种方法:

    1. 打开:系统设置 → 隐私与安全性;下方会看到“已阻止某某应用”;点击“仍要打开”

    2. 直接输入指令
    xattr -rd com.apple.quarantine /Applications/你的 App.app
    blushyes
        7
    blushyes  
    OP
       19 天前
    deb 的也用 github action 打包了一个
    CLMan
        8
    CLMan  
       19 天前
    使用什么写的,GPUI?,兼容性有问题,Windows10 LTSC 下双击直接退出,无任何错误信息,命令行下执行也是如此。
    blushyes
        9
    blushyes  
    OP
       19 天前
    @CLMan 对,GPUI 写的,zed 对 win10 支持现在怎么样了?这个确实不太清楚
    blushyes
        10
    blushyes  
    OP
       19 天前
    @CLMan 看 AI 说的可能原因:

    目标机器的 Win10 太老。gpui 0.2.2 的 Windows 后端直接用了 IDXGIFactory6 ,见 gpui directx_devices.rs (line 52)。微软文档把 IDXGIFactory6 的最低客户端写成 Windows 10 version 1803 ,而 Zed 官方支持下限更保守,是 Windows 10 version 1903 。如果对方是 1903 之前的 Win10 ,确实很可能直接启动失败。

    目标机器的 GPU/驱动不满足条件。GPUI 在 Windows 上会创建 D3D11 设备,并且只接受 11.1 / 11.0 / 10.1 feature level ,还额外检查 StructuredBuffer 能力,见 gpui directx_devices.rs (line 159)。Zed 官方文档也明确要求“DirectX 11 GPU + 当前 NVIDIA/AMD/Intel/Qualcomm 驱动,不要 Microsoft Basic Display Adapter”。所以老核显、没装厂商驱动、某些 VM/RDP 适配器,都是高概率原因。

    DirectComposition 路径在某些 Win10 机型上可能有兼容性问题。GPUI 默认会创建 DirectComposition 、CreateSwapChainForComposition ,而且只有设置 GPUI_DISABLE_DIRECT_COMPOSITION=1 才会改走普通 CreateSwapChainForHwnd ,见 gpui directx_renderer.rs (line 132) 和 gpui directx_renderer.rs (line 1017)。这不是“Win10 不支持 DComp”,因为微软文档里 DCompositionCreateDevice 最低都到 Windows 8 了;但某些 Win10 驱动组合确实可能在这条路径上出问题,所以这是很值得试的旁路。

    确认方式:

    在失败机器上跑 winver ,看是不是 Windows 10 1903 及以上。1903 对应的是 2019 年 5 月更新,build 18362 。
    跑 dxdiag ,看显卡驱动是不是厂商驱动,别是 Microsoft Basic Display Adapter 。
    在命令行里试一次:
    $env:GPUI_DISABLE_DIRECT_COMPOSITION='1'
    .\rmd.exe
    如果这样能开,问题就很像是 DirectComposition 路径。
    CLMan
        11
    CLMan  
       19 天前
    @blushyes 系统内核是 21H2 ,Zed 本身可以正常运行。我也只下来玩玩,不行就算了。
    Hansah
        12
    Hansah  
       18 天前
    WIN11 25H2 运行无任何翻译
    blushyes
        13
    blushyes  
    OP
       18 天前
    @Hansah 奇怪,难道是打包出问题了,我看下
    blushyes
        14
    blushyes  
    OP
       18 天前
    @CLMan 我知道了,我打包方式有问题,只是给了 exe 产物,一些资源什么的没有打包,应该发布成安装包的。
    现在应该可以了,官网换成安装包了,感兴趣玩玩的话可以试试
    blushyes
        15
    blushyes  
    OP
       18 天前
    @Hansah 我知道了,我打包方式有问题,只是给了 exe 产物,一些资源什么的没有打包,应该发布成安装包的。
    现在应该可以了,官网换成安装包了,感兴趣玩玩的话可以试试
    TrackBack
        16
    TrackBack  
       17 天前
    官网挺有设计的,也是直接 vibe 的吗还是用了什么框架?
    不过建议可以放点截图,现在除了下载完全没法知道产品是什么样的
    blushyes
        17
    blushyes  
    OP
       17 天前
    @TrackBack 也是 vibe 的;可以,晚点我补点截图
    CLMan
        18
    CLMan  
       17 天前
    @blushyes 这下能用了,一个小问题是初始窗口大小溢出了我的屏幕(Windows 21H2,1080p,125%scale)。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5799 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 76ms UTC 02:25 PVG 10:25 LAX 19:25 JFK 22:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86