V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
dzhou121
V2EX  ›  分享创造

Lapce 发布 v0.1.0 用 Rust 编写 GPU 渲染的开源代码编辑器

  •  7
     
  •   dzhou121 · 2022-05-13 16:49:58 +08:00 · 5549 次点击
    这是一个创建于 930 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://lapce.dev

    Lapce 主要目标是媲美 Sublime Text 的速度,以及强大的功能。

    新版本把 GPU 后端从 Wgpu 换到了 OpenGL ,另外就是基本功能的完善。欢迎下载试用。

    总体是基于 Rust 的技术栈,没有使用 web 那一套东西,所以能够保证获得最接近底层的速度。用了现在比较流行的 TreeSitter ,LSP 那一套来提供语言方面的功能。

    52 条回复    2022-05-16 10:55:29 +08:00
    asuraa
        1
    asuraa  
       2022-05-13 16:55:54 +08:00
    看起来不错 简洁大方
    okampfer
        2
    okampfer  
       2022-05-13 17:15:26 +08:00
    跟 JetBrains 的那个 fleet 比怎么样?
    z13zvxc
        3
    z13zvxc  
       2022-05-13 17:15:46 +08:00   ❤️ 2
    感觉一款流行的编辑器最主要是丰富的插件生态
    yuhangch
        4
    yuhangch  
       2022-05-13 17:19:39 +08:00
    🐮,用过,没想到是 v 友写的
    Fatpandac
        5
    Fatpandac  
       2022-05-13 17:28:18 +08:00
    嗯…请问如何安装插件?
    我点开插件选项没有任何内容,在官方文档也没有看到对应的操作描述。
    xdeng
        6
    xdeng  
       2022-05-13 17:38:31 +08:00
    win 版有没有不是安装包形式的 打成压缩包解压就能用的那种
    dufu1991
        7
    dufu1991  
       2022-05-13 17:49:26 +08:00
    下载试了下,还没到能用的程度吧。期待大佬继续努力。
    FrankFang128
        8
    FrankFang128  
       2022-05-13 17:50:26 +08:00
    开了个 13w 行的 TypeScript 文件,秒开,代码高亮,非常丝滑
    dzhou121
        9
    dzhou121  
    OP
       2022-05-13 17:51:30 +08:00
    FrankFang128
        10
    FrankFang128  
       2022-05-13 18:00:43 +08:00
    说错了,是 JS 文件
    magicdawn
        11
    magicdawn  
       2022-05-13 18:03:01 +08:00
    lapce 是不是 love and peace 😂
    我也取过类似 id
    lap + 数字
    dzhou121
        12
    dzhou121  
    OP
       2022-05-13 18:04:13 +08:00
    @magicdawn

    是 L(ightning-fast) a(nd) P(owerful) C(ode) E(ditor)
    lizhenda
        13
    lizhenda  
       2022-05-13 18:17:04 +08:00
    太厉害了啊
    coosir
        14
    coosir  
       2022-05-13 18:36:50 +08:00
    运行真的很快哦,当然比 Sublime Text 的功能还是少很多
    nicevar
        15
    nicevar  
       2022-05-13 18:51:13 +08:00
    挺好的,不过目前功能不太完善,等养一段时间再用
    dinw
        16
    dinw  
       2022-05-13 19:36:54 +08:00 via Android
    下载运行了。看起来不错。
    就是好像没法用键盘快捷键打开文件和退出 lapce. Ubuntu.

    如果可以,
    coldsnap
        17
    coldsnap  
       2022-05-13 21:00:37 +08:00
    GitHub 的 README 还是 Wgpu ,可以更新一下
    WispZhan
        18
    WispZhan  
       2022-05-13 21:17:37 +08:00 via Android
    很强,有点兴趣。
    请问插件系统有文档吗? 手机上大概翻了一下文档,没找到
    darer
        19
    darer  
       2022-05-13 21:43:32 +08:00
    这个版本比上次流畅多了
    Lighfer
        20
    Lighfer  
       2022-05-13 21:49:48 +08:00
    不能直接拖动文件打开,也不能单独打开一个文件。尝试打开一个 3M 的 JS 文件直接卡死了= =
    但是运行是真的快,秒开
    Lighfer
        21
    Lighfer  
       2022-05-13 21:50:31 +08:00
    打开 153KB 的 JS 文件也会卡死。。
    shuax
        22
    shuax  
       2022-05-13 22:35:34 +08:00
    试用了下,没用图标,不能拖动打开文件夹,写 C++几乎没用代码高亮,没有找到在哪儿显示空白。

    流畅确实流畅,未来可期。
    ipwx
        23
    ipwx  
       2022-05-13 22:39:58 +08:00   ❤️ 1
    不可能三角:

    运行效率、功能、开发成本。
    xiaozizayang
        24
    xiaozizayang  
       2022-05-13 23:12:29 +08:00
    支持,未来可期
    agagega
        25
    agagega  
       2022-05-13 23:22:22 +08:00
    不懂,问一句:为啥这些编辑器都要自己从渲染层开始实现,这样不是开天坑吗?是因为系统 TextView 有无法实现的底层功能,还是出于让不同平台体验一致的考虑?
    dzhou121
        26
    dzhou121  
    OP
       2022-05-14 00:05:08 +08:00
    @agagega

    主要是速度的考虑,在高分辨下,CPU 渲染 Text 已经是个瓶颈,GPU 渲染的延迟能控制在 2ms 之内
    t123yh
        27
    t123yh  
       2022-05-14 02:35:33 +08:00 via Android
    一般的编辑器,在点击某个文件后,都是鼠标松开才会有动作,而楼主的软件在鼠标按下去的瞬间就有动作了。
    dzhou121
        28
    dzhou121  
    OP
       2022-05-14 03:03:57 +08:00
    @t123yh

    这个是我缺少经验导致的,现在修了一部分了。
    bilberry
        29
    bilberry  
       2022-05-14 05:54:55 +08:00
    原来是大佬,膜拜
    xiaoz
        30
    xiaoz  
       2022-05-14 08:48:13 +08:00
    不支持中文吗?
    yuuko
        31
    yuuko  
       2022-05-14 09:02:11 +08:00 via Android
    说是支持 lsp ,然后没找到任何安装文档。。。
    xiaolanger
        32
    xiaolanger  
       2022-05-14 09:19:56 +08:00
    支持,等插件
    missdeer
        33
    missdeer  
       2022-05-14 10:16:08 +08:00
    打开一个 cpp 文件,语法高亮还很大问题
    Dkngit
        34
    Dkngit  
       2022-05-14 10:30:46 +08:00
    主题切换不是选择项,需要手动输入,但我不知道可选的主题...
    youisme
        35
    youisme  
       2022-05-14 11:26:57 +08:00
    确实很快,加油! STAR 了
    thinkwei2012
        36
    thinkwei2012  
       2022-05-14 11:34:06 +08:00
    先 star 支持下
    justin2018
        37
    justin2018  
       2022-05-14 12:15:59 +08:00
    @dzhou121

    可以支持下 brew 安装嘛 😁
    kimown
        38
    kimown  
       2022-05-14 12:35:15 +08:00
    为啥要换到 opengl 啊
    xieren58
        39
    xieren58  
       2022-05-14 13:00:24 +08:00
    相当不错. cool.
    xdeng
        40
    xdeng  
       2022-05-14 15:06:44 +08:00
    @dzhou121 看到了 3Q
    Buges
        41
    Buges  
       2022-05-14 15:34:32 +08:00 via Android
    wgpu 应该是未来吧,移植到 web 平台也方便,为啥要换。
    dzhou121
        42
    dzhou121  
    OP
       2022-05-14 16:13:24 +08:00 via iPhone
    最开始使用 wgpu 就是因为 wgpu 是目前比较现代的 API ,但是一直有用户会反映 Lapce 会直接打开时崩溃,换了 opengl 之后基本都解决了,奔溃的原因一般是双显卡和 vulkan 驱动的一些问题。

    还有一个原因就是 wgpu 目前还不支持 dual-source blending ,等 wgpu 更稳定一些然后这个功能支持之后我们还是会切回 wgpu 的,大部分代码都是相通的。

    web 平台也是在我们的计划上的,因为底层的 Druid 都是可以支持 web 的,然后具体实现基本上就是在 canvas 里面画,跳过 dom 这一层,性能上应该还是有保证的。
    dzhou121
        43
    dzhou121  
    OP
       2022-05-14 16:18:37 +08:00 via iPhone
    @okampfer

    没有用过 fleet ,但也一直在关注 fleet ,看反映感觉也还是挺早期的。

    性能上说的话,Fleet 如果没有 aot 还是会有启动速度的问题吧。然后看 Fleet 的 blog ,他们也是用了 rope ,所以编辑大文件应该也是没有任何问题。
    dzhou121
        44
    dzhou121  
    OP
       2022-05-14 16:22:01 +08:00 via iPhone
    @justin2018

    brew 好像有人添加了
    irytu
        45
    irytu  
       2022-05-14 19:03:16 +08:00 via iPhone
    可以 fix 一下终端不能解析上下左右这类按键的 bug 吗
    dzhou121
        46
    dzhou121  
    OP
       2022-05-14 19:13:28 +08:00 via iPhone
    @irytu 当然,应该已经有一个 issue 关于这个的
    irytu
        47
    irytu  
       2022-05-14 19:15:16 +08:00 via iPhone
    @dzhou121 🉑️
    bitdepth
        48
    bitdepth  
       2022-05-15 02:15:59 +08:00
    code 如果是字母體系,總共就 200 多個字符對於四種字體,用 opengl 可以很快,因為 vector 有限
    而中文就麻煩,速度可能不會更快
    dzhou121
        49
    dzhou121  
    OP
       2022-05-15 02:42:17 +08:00 via iPhone
    @bitdepth GPU 渲染文字一般都是 cache 到 pixelmap 上,字母和中文的速度是一样的,区别是中文的 memory 会多一些,因为字符会多很多。
    bitdepth
        50
    bitdepth  
       2022-05-15 15:51:56 +08:00
    @dzhou121 我把 OpenGL ES 的習慣代進來了,習慣了 mobile platform 。
    huohei
        51
    huohei  
       2022-05-15 16:24:37 +08:00
    windows 下没法被 mactype 服务模式覆盖
    assclb
        52
    assclb  
       2022-05-16 10:55:29 +08:00
    star 一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:59 · PVG 22:59 · LAX 06:59 · JFK 09:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.