Angenommen: ich habe ein PHP-Projekt, das auf dem Arbeitsrechner so konfiguriert wurde, dass LAMP-Stack im VirtualBox läuft. Und PHPStorm wird auch auf der virtuellen Maschine installiert.
Diese Konfiguration hat bestimmte Vorteile: ich habe sozusagen eine Arbeitsumgebung im Linux Rechner, der im VirtualBox auf einem Windows Rechner läuft. Und ich persönlich finde, dass man an einem PHP-Projekt lieber unter Linux arbeiten sollte.
Die Nachteile kamen später. Ich hatte immer Platzprobleme auf dem virtuellen Rechner, musste aber noch eine weitere Version vom Projekt klonen. Das Projekt ist außerdem größer geworden, noch welche git-Branchen kamen dazu. Und die neue Version vom PHPStorm braucht (wahrscheinlich) etwas mehr Ressourcen. Insbesondere ist es mit größeren Dateien zu spüren, und sie gibt’s im Projekt genug.
Kurz gesagt, PHPStorm ist unbrauchbar geworden. Es dauerte eine gefühlte Ewigkeit, bis eine Datei gespeichert wurde oder etwas, was ich eingetippt habe, auf dem Bildschirm erschienen ist. Und: es wurde immer beschwert, dass PHPStorm „low memory“ hat. Ich habe so viel Arbeitsspeicher gegeben, wie es möglich wäre, es hat aber nicht geholfen.
Was könnte ich dagegen tun?
Es gab 2 Ideen.
1. Auf VSCode umsteigen.
2. PHPStorm auf Host Rechner (also Windows Rechner) installieren und einen Zugriff zum Projekt auf Gastrechner (Ubuntu 20.04) zu schaffen.
Ich hatte grundsätzlich nichts gegen VSCode, wollte aber nicht von PHPStorm verzichten, deswegen habe ich entschieden, die Variante 2. auszuprobieren.
Bei Recherche bin ich auf sshfs gestoßen.
Also, auf Windows Rechner brauchen wir
- WinFSP https://github.com/billziss-gh/winfsp/releases
- SSHFS-Win https://github.com/billziss-gh/sshfs-win (und auch GUI)
- Git für Windows (falls noch nicht installiert)
Auf dem Gastrechner (Linux) brauchen wir:
- OpenSSH Server installieren
- unseren Benutzer zur Gruppe vboxusers hinzufügen
sudo adduser $USER vboxusers
Dann können wir GUI für SSHFS-Win benutzen und den Pfad zu unserem Projekt als das neue Laufwerk definieren. (Ich fand SSHFS-GUI ziemlich hilfreich. Natürlich kann man ganz „normal“ Netzlaufwerk verbinden, mit GUI ist es aber etwas komfortabler.)
Weiteres ist einfach: PHPStorm / IntellijIdea unter Windows installieren und das Projekt öffnen. Alle meine Einstellungen, die ich in PHPStorm auf dem Gastrechner unter Ubuntu gemacht habe, wurden erkannt und übernommen.