Rust VSCodium und Flatpak

Version 1.1 von Volker Kaltschmidt am 2026/02/21 12:23

Warnung
Dieser Blog-Beitrag wurde noch nicht veröffentlicht.

Rust, VSCodium und Flatpak: Warum rust-analyzer und leptosfmt nicht funktionieren — und wie man es sauber löst

Rust funktioniert unter Linux hervorragend. Auch mit VSCodium.
Doch sobald VSCodium als Flatpak installiert ist, beginnen die Probleme.

rust-analyzer findet plötzlich cargo oder rustc nicht.
Formatter wie leptosfmt werden nicht erkannt.
Und obwohl im Terminal alles funktioniert, meldet die IDE Fehler wie:

failed to load workspace
No such file or directory (os error 2)
leptosfmt not found

Das Problem liegt nicht an Rust. Und nicht an deinem Projekt.
Es liegt an Flatpak.


Das eigentliche Problem: Flatpak isoliert deine Toolchain

Flatpak-Anwendungen laufen in einer Sandbox. Sie sehen nicht automatisch deine normale Benutzerumgebung.

Dein Rust ist hier installiert:

/home/volker/.cargo/bin

Aber VSCodium läuft intern in einer isolierten Umgebung:

/home/volker/.var/app/com.vscodium.codium/

Dadurch kennt VSCodium deine Rust-Tools nicht, selbst wenn sie korrekt installiert sind.

Im Terminal funktioniert alles.
In der IDE scheinbar nichts.

Das ist verwirrend — aber logisch.


Typische Symptome

Du erkennst das Problem an Fehlermeldungen wie:

  • rust-analyzer failed to load workspace
  • cargo metadata failed
  • rustc not found
  • leptosfmt not found
  • Formatter funktioniert nicht
  • Autocomplete hängt oder startet nie

Gleichzeitig funktioniert im Terminal:

cargo --version
rustc --version

ohne Probleme.


Die Lösung: PATH und Tool-Pfade explizit setzen

VSCodium muss explizit gesagt bekommen, wo deine Rust-Tools liegen.

Öffne in VSCodium:

Ctrl + Shift + P
Preferences: Open User Settings (JSON)

Füge folgende Konfiguration hinzu:

{
  "rust-analyzer.server.extraEnv": {
    "PATH": "/home/volker/.cargo/bin:/usr/local/bin:/usr/bin:/bin"
  },

  "rust-analyzer.cargo.targetDir": "/home/volker/.cargo/target",

  "leptosfmt.path": "/home/volker/.cargo/bin/leptosfmt",

  "terminal.integrated.defaultProfile.linux": "bash"
}

Danach:

Ctrl + Shift + P
Reload Window

oder:

Rust Analyzer: Restart Server

Warum das funktioniert

Damit gibst du rust-analyzer und VSCodium direkten Zugriff auf:

  • cargo
  • rustc
  • leptosfmt
  • globale Build-Artefakte

Die Sandbox bleibt bestehen, aber die Tools werden sichtbar.


Optional: globales target-Verzeichnis für bessere Performance

Rust kompiliert Abhängigkeiten standardmäßig pro Projekt neu.

Du kannst ein globales target-Verzeichnis setzen:

mkdir -p ~/.cargo
nano ~/.cargo/config.toml

Inhalt:

[build]
target-dir = "/home/volker/.cargo/target"

Das reduziert Buildzeiten drastisch und verbessert die IDE-Performance.


Danach funktioniert alles wie erwartet

rust-analyzer startet sofort.
Autocomplete funktioniert.
Formatter funktionieren.
cargo leptos watch läuft stabil.

Die Entwicklungsumgebung fühlt sich wieder normal an.


Warum dieses Problem so häufig ist

Flatpak ist auf Sicherheit ausgelegt.
Es isoliert Anwendungen bewusst von deiner Systemumgebung.

Das ist gut für Sicherheit.
Aber problematisch für Entwickler-Toolchains.

Rust ist davon besonders betroffen, weil:

  • Toolchain im Benutzerverzeichnis liegt
  • rust-analyzer externe Tools aufruft
  • Formatter separat installiert werden

Alternative Lösung: native Installation statt Flatpak

Die einfachste langfristige Lösung ist die native Installation von VSCodium:

sudo dpkg -i codium_amd64.deb

Die native Version hat direkten Zugriff auf deine Toolchain.

Keine PATH-Probleme. Keine Sandbox-Einschränkungen.


Fazit

Das Problem liegt nicht an Rust. Und nicht an VSCodium.

Es liegt an der Flatpak-Sandbox.

Mit einer einfachen Anpassung der User Settings lässt sich das Problem vollständig lösen.

Danach funktioniert Rust unter VSCodium genauso stabil und performant wie erwartet.

Man muss der IDE nur einmal zeigen, wo Rust wirklich lebt.