Lapce 是一个用 Rust 编写的原生开源代码编辑器,支持远程开发

Lapce 概述

Lapce 是一款基于 Rust 编写的代码编辑器,具有原生 GUI,并利用 GPU 加速和基于 WASI 的可扩展插件系统。它支持语法高亮、代码补全和代码诊断,兼容任何符合 LSP 协议的服务器。

远程开发支持

Lapce 支持远程开发,允许用户连接到远程机器,提供与本地项目几乎相同的开发体验。用户可以在保持工作环境不变的同时,充分利用远程服务器的全部性能。

原生 GUI 与 Floem

Lapce 的原生 GUI 基于 Rust 声明式 UI 工具包 Floem。Floem 的布局范式来源于其底层库 Taffy,提供了类似于 CSS 的 Flexbox 布局系统。Floem 支持 Windows、macOS 和 Linux,并通过 wgpu 使用 OpenGL、Vulkan 或 Metal。

反应式模型与渲染优化

Floem 不仅提供声明式语法,还采用了反应式模型,通过在应用程序中发送信号来更新 UI。为了控制渲染性能,Floem 仅对视图树进行一次渲染,以避免单个视图中的性能瓶颈。

远程开发代理

Lapce 通过基于代理的方法支持远程开发,使用 lapce-proxy 负责前端与编辑器其他组件(包括文件系统、插件和 LSP 服务器)之间的通信。在远程开发时,前端连接到远程代理;在本地开发时,则使用本地代理,用户除了网络延迟外几乎感受不到任何差异。

插件系统

Lapce 支持外部插件,可以使用任何能够生成 WASI 兼容 Wasm 的语言创建插件。尽管关于插件创建的文档较少,但用户可以访问 Lapce 社区仓库 查看示例插件,并使用 模板 开始创建自己的插件。

Vim 模式

Lapce 提供了基于两种不同模式的 Vim 风格编辑体验,这一功能可以从 Lapce 主屏幕或 设置 面板中启用,这对 Vim 爱好者来说是一个受欢迎的特性。

阅读 79
0 条评论