TiloBox
Back to directory
Lapce project preview

Lapce

A native code editor written in Rust with remote development, language-server support, and a plugin system.

LicenseApache-2.0
GitHub stars38.8k
Last commit1 months ago
Tags7 topics
Code EditorPluginsRustSelf HostedOpen SourceDeveloper ToolsLanguage Server
Overview

Why consider Lapce?

Lapce is an open-source code editor built in pure Rust with native GPU-accelerated rendering in Floem. It provides integrated Language Server Protocol support, modal editing, and seamless remote development over SSH for software engineers.

Guided learning

Learn Lapce by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

4 min read 5 sections
In this guide5 sections

Overview and Core Architecture

Lapce (IPA: /læps/) is an open-source code editor engineered for high-performance development workflows. As documented on the project repository (https://github.com/lapce/lapce), Lapce is written in pure Rust with a user interface built in Floem, using Xi-Editor rope science for fast computation and wgpu for rendering. This native graphical stack eliminates the overhead of web-based runtimes, ensuring immediate startup and sub-millisecond typing responsiveness.

The internal architecture separates the visual interface from backend operations. As detailed in the official architecture guide (https://docs.lapce.dev/development/architecture.md), the lapce-proxy component isolates filesystem operations, plugins, and LSP language servers from the frontend GUI. When an engineer opens or edits files, the frontend application communicates directly with this proxy layer, maintaining synchronization while keeping the user interface completely decoupled from disk and language server latency.

Getting Started and Workspace Management

Setting up the editor is straightforward across major desktop operating systems. According to the official setup guide (https://docs.lapce.dev/get-started/setup.md), Lapce supports Linux, Windows, and macOS with prebuilt binaries available for installation across platforms. Users can launch the application immediately after downloading package archives, system installers, or portable binaries tailored to their specific platform architecture.

Once installed, organizing a project workflow begins with opening a root folder. As explained in the setup documentation (https://docs.lapce.dev/get-started/setup.md), opening a project folder displays the workspace file tree in the left explorer, while Go To File allows quick fuzzy searching with Cmd+p on macOS or Ctrl+p on Linux and Windows. This keyboard-driven workflow enables rapid navigation across extensive directory hierarchies without taking hands off the keyboard.

Remote Development Workflow

Remote development allows developers to execute workloads on powerful remote servers while maintaining the responsiveness of a native local desktop interface. According to the remote development guide (https://docs.lapce.dev/get-started/remote-development.md), remote development operates over SSH key authentication and uses the host OpenSSH client to connect to remote systems. By relying directly on the host OpenSSH client, connection profiles and credentials remain securely managed by standard system mechanisms.

Establishing a remote session initiates a dedicated background bridge. As documented in the remote development guide (https://docs.lapce.dev/get-started/remote-development.md), connecting to a remote target starts the lapce-proxy binary on the host to manage files, plugins, and LSP servers across an SSH tunnel. The local frontend renders the editing canvas while the remote proxy processes language intelligence, terminal commands, and filesystem events transparently.

Plugin Ecosystem and WebAssembly Extensions

Lapce features a modular plugin architecture that leverages WebAssembly for security and cross-language compatibility. As outlined on the official website (https://lapce.dev), developers can build extensions using any programming language that targets WASI. This allows plugin authors to write custom tools in C, Rust, Zig, or other languages that produce WebAssembly System Interface binaries without needing custom runtime bindings.

Publishing plugins to the public directory is handled through the dedicated Volts package manager. According to the plugin development documentation (https://docs.lapce.dev/development/plugin-development.md), plugin authors can install the volts command-line tool via cargo to publish packages directly to the registry:

bash
1cargo install volts

After generating an API token on the plugin portal, running volts publish within the extension directory deploys the compiled package directly to the registry (https://docs.lapce.dev/development/plugin-development.md):

bash
1volts publish

Licensing and Community Releases

The project is governed by permissive open-source governance. As declared in the repository license (https://raw.githubusercontent.com/lapce/lapce/master/LICENSE), Lapce is distributed under the terms of the Apache License Version 2.0. This grants individuals and enterprises broad freedom to inspect, compile, customize, and redistribute the software with clear patent protections.

The project maintains an active release cadence with regular improvements and bug fixes. As recorded in the official release notes (https://github.com/lapce/lapce/releases/tag/v0.4.6), recent updates in version v0.4.6 added support for .har file recognition and introduced Ubuntu Plucky builds. These ongoing updates provide broad Linux distribution compatibility and expanded syntax support for modern development environments.

Related tools

More options with a similar category or technology profile.

Lapce FAQs

Lapce is listed as a Developer Tools tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Lapce is listed under the Apache-2.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Lapce is listed as an alternative to Visual Studio Code. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.