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

4 月 4 日
 blushyes

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

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

https://rmd.sofast.xin

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

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

2. 直接输入指令
xattr -rd com.apple.quarantine /Applications/你的 App.app
blushyes
4 月 4 日
deb 的也用 github action 打包了一个
CLMan
4 月 5 日
使用什么写的,GPUI?,兼容性有问题,Windows10 LTSC 下双击直接退出,无任何错误信息,命令行下执行也是如此。
blushyes
4 月 5 日
@CLMan 对,GPUI 写的,zed 对 win10 支持现在怎么样了?这个确实不太清楚
blushyes
4 月 5 日
@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
4 月 5 日
@blushyes 系统内核是 21H2 ,Zed 本身可以正常运行。我也只下来玩玩,不行就算了。
Hansah
4 月 5 日
WIN11 25H2 运行无任何翻译
blushyes
4 月 5 日
@Hansah 奇怪,难道是打包出问题了,我看下
blushyes
4 月 5 日
@CLMan 我知道了,我打包方式有问题,只是给了 exe 产物,一些资源什么的没有打包,应该发布成安装包的。
现在应该可以了,官网换成安装包了,感兴趣玩玩的话可以试试
blushyes
4 月 5 日
@Hansah 我知道了,我打包方式有问题,只是给了 exe 产物,一些资源什么的没有打包,应该发布成安装包的。
现在应该可以了,官网换成安装包了,感兴趣玩玩的话可以试试
TrackBack
4 月 6 日
官网挺有设计的,也是直接 vibe 的吗还是用了什么框架?
不过建议可以放点截图,现在除了下载完全没法知道产品是什么样的
blushyes
4 月 6 日
@TrackBack 也是 vibe 的;可以,晚点我补点截图
CLMan
4 月 6 日
@blushyes 这下能用了,一个小问题是初始窗口大小溢出了我的屏幕(Windows 21H2,1080p,125%scale)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1203522

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX