Lapce - Le Bottin des Jeux Linux

Lapce

🗃️ Specifications

📰 Title: Lapce 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 👁️ Visual: 2D
🏷️ Category: Development ➤ Editor & IDE 🏝️ Perspective: First person (interface)
🔖 Tags: Development; Editor ⏱️ Pacing: Real Time
🐣️ Approx. start: 2018-02-04 👫️ Played: Single
🐓️ Latest: 2025-06-28 🚦 Status: 05. Tested & Working (status)
📍️ Version: Latest: 💥️ 0.2.0➜0.4.3 / Dev: nightly / adaf830 ❤️ Like it: 6. 👶️ (no skills)
🏛️ License type: 🕊️ Libre 🎀️ Quality: 1. 🏆️⭐⭐⭐⭐⭐ (perfect)
🏛️ License: Apache-2.0 ✨️ (temporary):
🐛️ Created: 2022-09-28 🐜️ Updated: 2025-07-07

📦️ Deliverables

📦️ Package name: lapce ..... 📦️ Arch: ✓
📄️ Source: ✓ ..... 📦️ RPM: ✓
⚙️ Generic binary: ✓ ..... 📦️ Deb:
🌍️ Browser version: ..... 📦️ AppImage:
📱️ PDA support: ..... 📦️ Flatpak: ✓
✨️ Not use: ..... 📦️ Snap: ✓

🚦 Entry status

📰 What's new?: 🍎️ (Stable) Major release 👻️ Temporary:
💡 Lights on: ✓ 📰 Previous News: ✓
🎨️ Significant improvement: ✓ 💭️ New version published (to be updated):
🎖️ This work: 5 stars 🦺️ Work in progress:
👫️ Contrib.: goupildb & Louis 🚧️ Some work remains to be done:
🎰️ ID: 16249

📖️ Summary

📜️[en]: A libre, multiplatform code editor that's very fast, thanks to GPU rendering and the performance provided by Rust. In particular, it supports LSP (Language Server Protocol, enabling code completion, diagnostics and actions), syntax highlighting (with Tree-sitter), modal editing (Vim-like), remote development (allowing you to connect to a remote machine transparently), plugins (installable from the interface, they can be written in any language that compiles in WASI), and it provides an integrated terminal (allowing you to execute code without leaving the editor). The interface is both malleable and powerful. 📜️[fr]: Un éditeur de code libre et multiplateforme très rapide, grâce à l'utilisation du rendu GPU, et des performances fournies par Rust. Il supporte notamment le protocole LSP (Language Server Protocol, permettant la complétion, les diagnostiques et les actions de code), la coloration syntaxique (avec Tree-sitter), l'édition modale (de type Vim), le développement à distance (permettant de se connecter à une machine distante de manière transparente), les plugins (installables depuis l'interface, ils peuvent être écrits dans tout langage qui compile en WASI), et il fournit un terminal intégré (permettant d'exécuter du code sans quitter l'éditeur). Son interface est malléable et puissante à souhait.

🎥️ Videos


🦝️ From Users: GameFromScratch (202209),


🎲️ Gameplay: (202209), (202209), (202208),

🕸️ Links

🏡️ Website & videos
Website: [Homepage] [Dev site] [Features/About] [Screenshots]
Videos: t(202xxx) gd(202xxx) gu(202209) r(202xxx) lp(202xxx) ht(202xxx) g(202209) g(202209) g(202208) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)]
Doc: [WIKI] [FAQ]
Updates: [RSS] [Changelog 1 2 3]

💰 Commercial
• (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (Lapce Team [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Dongdong Zhou (dzhou121) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related


📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu(author's repo)] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB] [It's FOSS (202209)]

🕊️ Source of this Entry: [Boiling Steam on mastodon (20220904)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Lapce
🦊️ What's: A very fast libre code editor
🏡️ https://lapce.dev/
🐣️ https://github.com/lapce
🔖 #LinuxGameDev #Programming #Editor
📦️ #Libre #Bin #Arch #RPM #Flatpak #Snap
📕️ https://lebottinlinux.vps.a-lec.org/LO.html
🕵‍ 0.4.3: 🙏️⭐⭐⭐⭐⭐

🥁️ Update: 0.2.0➜0.4.3
⚗️ Major release(Stable)🍎️
📌️ Changes: https://github.com/lapce/lapce/releases
🦣️ From: 🛜️ https://github.com/lapce/lapce/releases.atom

🦝️ https://www.youtube.com/embed/_52ZUg-QmW0
🎲️ https://www.youtube.com/embed/hqcBgj8a9u0
🎲️ https://www.youtube.com/embed/dIKxu4Zv8P0
🎲️ https://www.youtube.com/embed/DmOWtSyxHe4

🕶️ A view of its UI (V.0.4.3 on my Linux PC, with a dark theme), with its own source. On the left, I selected the 2nd icon giving access to the plugins (the 1st displays the project tree, giving direct access to the component files), the 3rd lets you write commits, the 4th gives access to debug mode) and installed a few plugins (top) from among the many available (bottom), on the right, the source with syntax highlighting and line numbers in a tab, below a console for entering commands.

📚️ Lapce is a libre, multiplatform code editor that's very fast, thanks to GPU rendering and the performance provided by Rust. In particular, it supports LSP (Language Server Protocol, enabling code completion, diagnostics and actions), syntax highlighting (with Tree-sitter), modal editing (Vim-like), remote development (allowing you to connect to a remote machine transparently), plugins (installable from the interface, they can be written in any language that compiles in WASI), and it provides an integrated terminal (allowing you to execute code without leaving the editor). The interface is both malleable and powerful.

📕 Description [en]

📜️ "A very fast libre code editor" 📜️

Lightning-fast and Powerful Code Editor
Open source. Quick from launch to every keystroke, and batteries included.


✅️ Modern open source code editor in Rust
Native GUI and Rust powered performance, we as developers know what you need for an essential tool like a code editor. Write code with joy in Lapce.

✅️ Lightning fast
Native GUI with GPU acceleration in Floem, no more waiting on launching the editor, and any lag on your keystroke will be treated as a bug and get fixed.

✅️ Remote Development
You can connect to a remote machine seamlessly, with a "local" experience, benefiting from an identical environment with your production server, or utilizing the full performance of the remote machine. We also have Lapdev which can help manage your remote dev environments.

✅️ Batteries included
Code syntax highlighting using Tree-sitter, much faster and better than regex based highlighting. Also with built-in LSP support, to give you code intelligence like code completion, diagnostics and code actions etc.

✅️ Vim like modal editing
Vim users, we've got you covered! Built-in support for a Vim like editing experience, without a plugin.

✅️ WASI plugin system
You can write a plugin for Lapce with any programing language that compiles to WASI. Choose a familiar language for writing a plugin without learning a new language.

✅️ Built-in Terminal
Start a terminal at the path of your workspace, without leaving Lapce.


About Lapdev
We started our dev tools journey by writing our code editor from scratch. The remote development feature was a key feature for us, so we built the feature in Lapce from the very beginning, shaping the entire architecture of the editor around it. We had a bit of a detour on developing Lapce and wrote our own GUI toolkit Floem because there were no good ones in Rust that suited our needs.

Then we started to have this need to manage the remote development environments. Because Lapce and Floem are cross platform applications, we used Lapce’s remote development feature to develop it on different operating systems, from the same editor without the need to switch machines. But still, the actual remote development environments, i.e. the different remote systems that Lapce connects to, need to be managed, and ideally we’d like a system which can manage them and spin new environments, so that our contributors can easily debug or test the cross platform features if needed.

We looked at existing solutions but can't find one that matches our needs. Some of them are very complicated to install and maintain, and as DevOps engineer, I really appreciate self hosted systems to be easy to install and understand. So the idea came into mind, why not create a new solution ourselves, that embodies simplicity, but without compromising on functionality and extensibility?


Lapdev
The Dev Environment

Lapce
The Code Editor

Floem
The GUI Toolkit

📕 Description [fr]

Un éditeur de code libre très rapide, par la Lapce Team, initié par Dongdong Zhou (dzhou121).
En Rust.

Lapce est un éditeur de code libre et multiplateforme très rapide, grâce à l'utilisation du rendu GPU, et des performances fournies par Rust. Il supporte notamment le protocole LSP (Language Server Protocol, permettant la complétion, les diagnostiques et les actions de code), la coloration syntaxique (avec Tree-sitter), l'édition modale (de type Vim), le développement à distance (permettant de se connecter à une machine distante de manière transparente), les plugins (installables depuis l'interface, ils peuvent être écrits dans tout langage qui compile en WASI), et il fournit un terminal intégré (permettant d'exécuter du code sans quitter l'éditeur). Son interface est malléable et puissante à souhait.


Éditeur de code rapide comme l'éclair et puissant
Libre. Rapide depuis le lancement jusqu'à chaque frappe, et batteries incluses.


✅️ Editeur de code open source moderne en Rust
Interface graphique native et performances en Rust. En tant que développeurs, nous savons ce dont vous avez besoin pour un outil essentiel tel qu'un éditeur de code. Ecrivez du code avec joie dans Lapce.

✅️ Rapide comme l'éclair
Interface graphique native avec accélération GPU dans Floem, plus d'attente au lancement de l'éditeur, et tout décalage dans votre frappe sera traité comme un bug et sera corrigé.

✅️ Développement à distance
Vous pouvez vous connecter à une machine distante de manière transparente, avec une expérience "locale", en bénéficiant d'un environnement identique à celui de votre serveur de production, ou en utilisant toutes les performances de la machine distante. Nous avons également Lapdev qui peut vous aider à gérer vos environnements de développement à distance.

✅️ Piles incluses
Mise en évidence de la syntaxe du code à l'aide de Tree-sitter, beaucoup plus rapide et plus efficace que la mise en évidence basée sur les expressions rationnelles. Avec aussi le support intégré de LSP, pour vous donner l'intelligence du code comme la complétion de code, les diagnostics et les actions de code, etc.

✅️ Edition modale de type Vim
Utilisateurs de Vim, nous vous couvrons ! Support intégré pour une expérience d'édition similaire à Vim, sans plugin.

✅️ Système de plugin WASI
Vous pouvez écrire un plugin pour Lapce avec n'importe quel langage de programmation qui compile en WASI. Choisissez un langage familier pour écrire un plugin sans avoir à apprendre un nouveau langage.

✅️ Terminal intégré
Démarrez un terminal sur le chemin de votre espace de travail, sans quitter Lapce.


A propos de Lapdev

Nous avons commencé notre voyage vers les outils de développement en écrivant notre éditeur de code à partir de zéro. La fonctionnalité de développement à distance était une fonctionnalité clé pour nous, nous l'avons donc intégrée à Lapce dès le début, en façonnant toute l'architecture de l'éditeur autour d'elle. Nous avons fait un petit détour dans le développement de Lapce et avons écrit notre propre boîte à outils d'interface graphique Floem parce qu'il n'y en avait pas de bonne en Rust qui correspondait à nos besoins.

Ensuite, nous avons commencé à avoir besoin de gérer les environnements de développement à distance. Lapce et Floem étant des applications multiplateformes, nous avons utilisé la fonction de développement à distance de Lapce pour les développer sur différents systèmes d'exploitation, à partir du même éditeur, sans avoir à changer de machine. Cependant, les environnements de développement à distance, c'est-à-dire les différents systèmes distants auxquels Lapce se connecte, doivent être gérés, et idéalement nous aimerions un système capable de les gérer et de lancer de nouveaux environnements, afin que nos contributeurs puissent facilement déboguer ou tester les fonctionnalités multiplateformes si nécessaire.

Nous avons examiné les solutions existantes, mais nous n'en avons pas trouvé une qui corresponde à nos besoins. Certaines d'entre elles sont très compliquées à installer et à maintenir, et en tant qu'ingénieur DevOps, j'apprécie vraiment que les systèmes auto-hébergés soient faciles à installer et à comprendre. L'idée m'est donc venue à l'esprit : pourquoi ne pas créer nous-mêmes une nouvelle solution, qui incarne la simplicité, mais sans compromettre les fonctionnalités et l'extensibilité ?


Lapdev
L'environnement de développement

Lapce
L'éditeur de code

Floem
La boîte à outils GUI

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire

📦️ Installation à partir du/des paquet(s) Manjaro/Arch :
• Il(s) est/sont dans les dépôts Manjaro/Arch, il suffit d'installer le(s) paquet(s).

📦️ Installation à partir du paquet Debian/Ubuntu :
• Un/des paquet(s) Debian/Ubuntu est/sont disponible(s) sur le site de l'auteur. Vous pouvez utiliser l'utilitaire gdebi pour une installation facilité depuis votre gestionnaire de fichier.

⛓️ Installation à partir du binaire classique :
• Un binaire statique est disponible, décompressez le livrable, et rendez son binaire exécutable (clic droit sous votre gestionnaire de fichier).

📦️ Installation (méthode alternative) à partir du binaire au format Flatpak :
• Un binaire au format Flatpak est disponible. Il vous suffit d'utiliser votre gestionnaire de paquets Flatpak (discover et/ou gnome-software) pour l'installer en quelques clics.

💡Nota :
▸ Installation du support du format Flatpak (si ce n'est par défaut sur votre distribution) :
• Installez le support Flatpak : flatpak qt5-base
• Redémarrez votre PC (nécessaire).
• Installez un gestionnaire de paquets Flatpak : discover (mon préféré) et/ou gnome-software

[The Linux Experiment] compare les différents formats (Snaps vs Flatpaks vs Appimages) en novembre 2023.
[The Linux Experiment] fait le point sur le sujet en août 2023.
• Un excellent outil pour gérer les droits des applications installées via Flatpak : [Flatseal] (à installer depuis Flatpak).
• Par défaut (si vous n'avez réglé aucun droit supplémentaire via Flatseal ci-avant), lorsque votre application nécessite des données externes au paquet Flatpak (exemple : les données d'un jeu - tel que : game.ipk3 ou doom2/), il est nécessaire de les copier dans le répertoire Flatpak de votre application (situé dans ~./var/app/votre_application ou ~./local/share/flatpak/votre_application).
Exemple : ~./var/app/org.zdoom.GZDoom/.config/gzdoom/ ou ~./local/share/flatpak/net.dengine.Doomsday/current/active/files/)
• Si au lancement de votre application il ne se passe rien, copiez son raccourci en console pour voir le message d'erreur obtenu. Si vous obtenez le message "Could not initialize GLX", en console lancez : “$ flatpak update” puis relancez votre application.
• Les données des applications installées via Flatpak sont copiées dans : ~./.var/app/ ou ~./local/share/flatpak/
• Les binaires des applications installées via Flatpak sont copiées dans : /var/lib/flatpak/app/
Exemple de raccourci Flatpak : /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=gzdoom.sh org.zdoom.GZDoom


📦️ Installation (méthode alternative) à partir du binaire au format Snap :
• Un binaire au format Snap est disponible.

▸ Installation de snap :
(L'installation du gestionnaire de paquets Snap (et ses commandes de base) est aussi décrite sur la fiche "0 03 - Glossaire & licences courantes").
Si ce n'est déjà fait, installez le paquet : snapd

▸ Installation du jeu au format Snap :
Après avoir installé snapd (en dépôt), lancez en console ("your_snap_package" étant le nom de votre jeu) : # snap install your_snap_package

▸ Mise à jour du chemin vers le(s) binaire(s) installé(s) :
Pour que vous puissiez lancer votre jeu/outil en console sans devoir préciser manuellement où il se trouve (il a été installé dans /var/lib/snapd/snap/bin/), mettez à jour la variable $PATH en éditant (si vous utilisez bash) le fichier ~.bashrc. Retrouvez (en bas du fichier) cette variable PATH=/.... et ajoutez à la fin (sans espace et y compris le “:”) :/var/lib/snapd/snap/bin
Notez que cette modification ne sera prise en compte qu'après l'ouverture d'une nouvelle console.

💡Nota :
[The Linux Experiment] compare les différents formats (Snaps vs Flatpaks vs Appimages) en novembre 2023.



📄️ Installation à partir du source

• Source non testé.


🚀️ LANCEMENT DE L'INTERFACE

▸ Classique :
• Si vous l'avez installé à partir d'un paquet / dans l'un des répertoires système : [Alt+F2] lapce ou $ lapce
• Ou, rendez son binaire exécutable (clic droit sous votre gestionnaire de fichier) et cliquez dessus, ou dans son répertoire racine lancez : $ ./lapce
💡 Nota : si vous l'avez installé via votre gestionnaire de paquets et ne connaissez pas le nom précis du binaire, sélectionnez le paquet dans votre gestionnaire, et dans l'onglet “Fichiers” recherchez son nom dans l'arborescence d'installation (le binaire est généralement installé dans /usr/bin/).

▸ Flatpak :
• Si vous l'avez installé à partir d'un paquet Flatpak, lancez-le depuis :
⚬ le Menu de votre gestionnaire de fenêtres,
⚬ ou depuis votre gestionnaire d'applications Flatpak (discover ou gnome-software - ce dernier se nomme “Logiciels”, sont dans la section "Administration" du Menu de votre gestionnaire de fenêtres).
💡 Astuce : L'application Ulauncher (en dépôts AUR) permet aussi de lancer vos applications (y compris Flatpak) via un raccourci (tel que Alt F3) en saisissant ses premières lettres.

▸ Snap :
• Si vous l'avez installé à partir d'un paquet snap, lancez : $ /snap/bin/(nom de l'appli) (ou $ snap run (nom de l'appli))

🕵️ Test [fr]

📜️ Préambule :
⚬ 1ere édition : le 30 Juin 2025 sous Manjaro. Par : goupildb. ⏱️ Durée du test : 5 minutes. 🎯️ Objectif : Initialisation de l'entrée, test binaire de fonctionnement et prise d'une copie d'écran.



💻️ PC specs :
Linux distribution: Manjaro
Kernel: 6.12.34-1-MANJARO 6.15.3-1-MANJARO (don't work w/ my Wacom tablet) +iw (pour le wi-fi) + acpi_call-dkms + rapiddisk-dkms + uwurandom-git-dkms + v4l2loopback-dkms
Graphics driver: NVIDIA 575.64 (proprietary version, via Manjaro)
Desktop environment: X-Cinnamon (6.4.10) / Xorg 11.0 (21.1.16)

CPU: AMD Ryzen 7 2700X (3,7GHz, 8 cores)
Motherboard: MSI B450 GAMING PRO CARBON AC (RVB) + (zenpower-dkms + zenpower3-dkms + iwlwifi-ax101-dkms)
RAM: 32Go DDR4 (2x16GB)
Graphics card: GeForce RTX 2070 (TU106)
Hard disk: 1TB NVMe Force MP510 + 2x4TB Seagate Barracuda + 2x12TB Seagate IronWolf
Monitors: 1 x ASUS ROG Swift PG348Q (3440x1440) (The other died after a micro-power cut 😤️) + 1 x ASUS ROG Swift OLED PG48UQ 47,5" (3840x2160) (Get used to it 🦒️)
Webcam: Logitech HD Pro Webcam C920 (1080p@30FPS, stereo mic.)
Microphone: Samson G-Track pro Condenser
Keyboard: Keychron K1 Pro
MIDI keyboard: ARTURIA Minilab 3
Mouse: G-Lab Kult-Iridium (RVB)
Tablet: WACOM PTZ-930 (Intuos 3) (input-wacom-dkms-patched required)
Printer: brother MFC-L2800DW (brother-mfc-l2820dw (Print) + brscan5 (Scan) required).
Gamepads (test: jstest-gtk):
- (USB): Logitech Rumblepad (2 analog pads, one digital pad, + force feedback).
- (Bluetooth): Microsoft Xbox Elite Wireless Controller Series 2 (xpadneo-dkms required + Plugging & unplugging the gamepad to load the driver. If necessary, leave the gamepad connected)(drift if battery low)



🫕️ Installation :
▸ (🧪️not_tested) Paquet Arch/AUR : NON TESTE.
▸ (✔ v. 0.4.3) Binaire classique : FONCTIONNEL.
▸ (🧪️not_tested) Paquet Flatpak : NON TESTE.
▸ (🧪️not_tested) Paquet Snap : NON TESTE.


🏗️ Réalisation :

‣ 📟️ Interface
🟢️ Une interface magnifique (thème sombre), sobre, de qualité, dynamique (réaction de l'interface au survol de la souris), claire/intuitive (néanmoins elle requiert un peu de temps et d'énergie pour être maîtrisée),
🟢️ Elle offre notamment le téléchargement et l'installation séparé du contenu permettant d'optimiser la taille du livrable, une pléthore de paramétrages, un système de recherche (texte à saisir) pour les paramétrages, un redimensionnement de sa fenêtre par glisser-déposer, la possibilité de modifier indépendamment la taille de différents éléments de l'interface, le support de la re-disposition de son interface, le support des onglets (permettant de naviguer entre plusieurs sources et fonctionnalités de l'outil simultanément), le support des thèmes, le support des plugins,


🧪️ Tests effectués :

‣ 🧫️ Conditions du test, objectif(s)

‣ 🔍️ (v. 0.4.3) : ✔ tested
‣ ◀️ Test binaire de fonctionnement : ✔ tested
⚪️ Ce test a pour objectif de faire une copie d'écran, de vérifier que le jeu/outil démarre, qu'aucun bug apparent ne survient, qu'il fonctionne avec des opérations basiques, de survoler son interface pour me faire une idée de ses fonctionnalités,
⚪️ Point à prendre en considération : je n'ai pas les compétences/manque de temps pour un test sérieux de cet outil.

‣ 🎲️ Résultat des tests

‣ 🔍️ (v. 0.4.3) :
‣ ◀️ Test de fonctionnement :
🟢️ Visiblement il/elle fonctionne bien.


🌻️ Premières impressions :
🟢️ Cet outil me semble (à mon humble niveau) extrêmement complet et performant.


🧭️ Conclusion :

🕵️ Impression globale : 👍️
❤️ Like it: 👶️ (no skills)
🎀️ Quality: 🏆️⭐⭐⭐⭐⭐ (perfect)

🟢️ Un outil magnifique et qui me semble d'un excellent niveau.
👏️ ❤️ Un grand bravo et merci (notamment pour la version Linux !) à son/ses auteur(s) !