Settings Sync in PhpStorm: Persoenliche Einstellungen geraeteuebergreifend abgleichen
AI generated
IDE
{ }
PhpStorm - Settings Sync - Team Workflow
Settings Sync: Persoenliche Einstellungen zwischen Rechnern abgleichen, statt sie zu verlieren
Wo Settings Sync endet und projektweit geteilte .idea-Einstellungen im Repository anfangen

Wer zwischen Buero-Rechner, Laptop im Homeoffice und gelegentlich einer frisch aufgesetzten VM wechselt, kennt das Problem: Keymaps, Farbschemas und persoenliche Live Templates muessen jedes Mal neu eingerichtet werden. Settings Sync loest genau das, indem es persoenliche Einstellungen ueber den JetBrains-Account geraeteuebergreifend abgleicht. Wichtig ist dabei, klar zu trennen, was in Settings Sync gehoert und was stattdessen als projektweiter Standard im .idea-Ordner des Repositorys versioniert werden sollte, denn beide Mechanismen loesen unterschiedliche Probleme.

12 Min. Lesezeit Settings Sync JetBrains Account .idea Ordner Team-Konsistenz

1. Was Settings Sync ist und welches Problem es loest

Settings Sync ist eine in PhpStorm eingebaute Funktion, die persoenliche IDE-Einstellungen an den eingeloggten JetBrains-Account bindet und automatisch zwischen allen Geraeten repliziert, auf denen mit demselben Account gearbeitet wird. Das umfasst Editor-Farben, Keymaps, installierte Plugins und viele weitere persoenliche Vorlieben.

Ohne Settings Sync muesste jeder Entwickler nach einer Neuinstallation oder auf einem zweiten Rechner alle Anpassungen manuell wiederholen, was schnell laestig wird und dazu fuehrt, dass Einstellungen zwischen Geraeten auseinanderlaufen. Settings Sync ersetzt das durch einen einmaligen Login und automatische Uebertragung im Hintergrund.

Besonders deutlich wird der Effekt bei Onboarding-Situationen: Ein neuer Kollege kann am ersten Tag produktiv arbeiten, sobald Settings Sync die gewohnte Tastenbelegung und die bevorzugten Farbschemata uebernommen hat, statt Stunden mit dem Nachbauen persoenlicher Praeferenzen zu verbringen.

2. Was tatsaechlich synchronisiert wird

Zum Umfang gehoeren unter anderem UI-Theme, Schriftgroesse und Farbschema, Keymap-Anpassungen, aktivierte und deaktivierte Plugins, persoenliche Live Templates und Postfix Templates sowie zahlreiche Editor-Feineinstellungen wie Zeilenumbruch oder Anzeige von Whitespace-Zeichen.

Nicht synchronisiert werden dagegen projektspezifische Dinge wie Run Configurations mit Umgebungsvariablen, der Interpreter-Pfad eines konkreten Projekts oder Datenbank-Verbindungen mit gespeicherten Zugangsdaten. Diese Trennung ist bewusst so gewaehlt, damit persoenliche Vorlieben nicht versehentlich projektspezifische Konfiguration ueberschreiben.

Auch Notizen in Scratch Files, gespeicherte Suchmuster im Search Everywhere Verlauf und individuell konfigurierte Toolwindow-Layouts gehoeren zum synchronisierten Umfang, sofern die jeweilige Kategorie aktiviert ist, was den Wechsel zwischen Geraeten noch nahtloser macht.

3. Settings Sync aktivieren und den Sync-Umfang steuern

Aktiviert wird die Funktion unter Settings, Settings Sync, wo sich nach dem Login mit dem JetBrains-Account einzelne Kategorien gezielt an oder abschalten lassen. Wer zum Beispiel Keymaps synchronisieren, aber Farbschemas bewusst pro Geraet unterschiedlich halten moechte, kann das hier granular festlegen.

Die synchronisierten Daten werden verschluesselt in der JetBrains-Cloud abgelegt, wobei sich auch ein eigener Speicherort ueber ein Settings Repository konfigurieren laesst, etwa ein privates Git-Repository, wenn die Firmenrichtlinie keine Drittanbieter-Cloud fuer Konfigurationsdaten erlaubt.

Direkt nach der ersten Aktivierung empfiehlt sich ein kurzer Testlauf auf einem zweiten Geraet, um zu pruefen, ob tatsaechlich alle gewuenschten Kategorien ankommen, bevor man sich vollstaendig auf die automatische Synchronisierung verlaesst und lokale Sicherungen der eigenen Konfiguration aufgibt.


<!-- .idea/codeStyles/Project.xml (projektweit, NICHT Settings Sync) -->
<component name="ProjectCodeStyleConfiguration">
  <code_scheme name="Project" version="173">
    <PHPCodeStyleSettings>
      <option name="ALIGN_KEY_VALUE_PAIRS" value="true" />
    </PHPCodeStyleSettings>
  </code_scheme>
</component>

4. Der .idea-Ordner: projektweite Einstellungen im Repository

Waehrend Settings Sync persoenliche Vorlieben transportiert, sorgt der .idea-Ordner im Projekt-Repository fuer Team-Standards, die fuer alle gleich sein muessen: Code-Style-Regeln, Inspection-Profile, Run Configurations fuer PHPUnit oder Magento CLI Commands und die Zuordnung des PHP-Interpreters.

Nicht der gesamte .idea-Ordner sollte versioniert werden. Dateien wie workspace.xml oder tasks.xml enthalten rein lokale UI-Zustaende und gehoeren in die .gitignore, waehrend codeStyles, inspectionProfiles und runConfigurations bewusst eingecheckt werden, damit sie beim Checkout automatisch fuer alle greifen.


# Typischer git status Ausschnitt im .idea-Ordner
$ git status .idea/
	modified:   .idea/inspectionProfiles/Project_Default.xml
	modified:   .idea/runConfigurations/PHPUnit__Catalog_.xml

# workspace.xml und tasks.xml stehen bewusst in .gitignore
$ cat .gitignore | grep idea
.idea/workspace.xml
.idea/tasks.xml
.idea/httpRequests/

5. Entscheidungshilfe: Was gehoert wohin

Die einfachste Faustregel lautet: Alles, was ein einzelner Entwickler aus persoenlicher Vorliebe anders haben moechte, gehoert in Settings Sync. Alles, was fuer die Zusammenarbeit im Team konsistent sein muss, gehoert versioniert in den .idea-Ordner des Projekts.

Ein Keymap ist reine Geschmackssache und gehoert damit klar in Settings Sync. Eine PHP-Version fuer den Interpreter oder ein Inspection-Profil mit den Team-Regeln fuer Magento-Coding-Standards betrifft dagegen alle gleichermassen und gehoert zwingend ins Projekt-Repository, nicht in den persoenlichen Sync.

Eine hilfreiche Zwischenfrage lautet: Wuerde es dem Projekt schaden, wenn zwei Entwickler diese Einstellung unterschiedlich haetten? Bei einem Farbschema lautet die Antwort eindeutig nein, bei einer PHPStan-Konfigurationsdatei oder einem Inspection-Profil dagegen eindeutig ja.

6. Konflikte zwischen Sync und projektweiten Overrides loesen

Konflikte entstehen typischerweise, wenn eine projektspezifische Einstellung im .idea-Ordner eine persoenliche Vorliebe aus Settings Sync ueberschreibt, etwa ein projektweit definiertes Farbschema fuer Diff-Ansichten. PhpStorm zeigt in solchen Faellen in der Regel an, welche Ebene aktuell greift.

Im Zweifel gilt: projektspezifische Einstellungen im .idea-Ordner haben Vorrang vor global synchronisierten Werten, da sie naeher am konkreten Projekt liegen. Wer das nicht moechte, kann die betroffene Kategorie gezielt aus der Projekt-Konfiguration entfernen und die Entscheidung bewusst wieder Settings Sync ueberlassen.

In der Praxis treten solche Konflikte selten grossflaechig auf, da projektspezifische Overrides meist nur wenige, gezielt ausgewaehlte Kategorien betreffen. Ein kurzer Blick in die Projekt-.idea-Dateien schafft in Zweifelsfaellen schnell Klarheit darueber, welche Einstellung tatsaechlich greift.

7. Mehrere Rechner: Buero, Homeoffice und Remote Development

Fuer Entwickler, die zwischen Buero-Desktop und Laptop wechseln, reduziert Settings Sync die Einrichtungszeit auf wenigen Minuten: Login mit dem JetBrains-Account genuegt, und Plugins, Keymap sowie Farbschema stehen kurz darauf in identischer Form zur Verfuegung.

Auch bei JetBrains Remote Development, wo der eigentliche Code auf einem entfernten Docker-Host oder Server liegt, greift Settings Sync fuer die Thin-Client-Oberflaeche, waehrend projektspezifische Einstellungen weiterhin aus dem entfernten .idea-Ordner des jeweiligen Projekts geladen werden.

Fuer Freelancer, die an mehreren Kundenprojekten gleichzeitig arbeiten, reduziert Settings Sync zusaetzlich das Risiko, dass persoenliche Einstellungen versehentlich zwischen Projekten vermischt werden, da die persoenliche Konfiguration unabhaengig vom jeweils geoeffneten Projekt-Repository bleibt.

8. Was niemals ueber Settings Sync verteilt werden darf

Run Configurations koennen Umgebungsvariablen enthalten, in denen unbedacht Tokens oder Passwoerter landen. Solche Configurations werden zwar meist im Projekt-.idea-Ordner versioniert, nicht ueber Settings Sync verteilt, trotzdem lohnt sich eine bewusste Pruefung, bevor eine Run Configuration eingecheckt wird.

Grundsaetzlich gilt: Secrets gehoeren weder in Settings Sync noch in den versionierten .idea-Ordner, sondern in Umgebungsvariablen, die ueber lokale .env-Dateien oder die private HTTP-Client-Umgebungsdatei eingespeist werden. Placeholder-Syntax macht Run Configurations sicher teilbar, ohne echte Werte preiszugeben.


<!-- .idea/runConfigurations/Magento_CLI.xml, sicher versionierbar -->
<component name="ProjectRunConfigurationManager">
  <configuration name="Magento CLI" type="PHPUnitRunConfigurationType">
    <envs>
      <!-- Platzhalter statt echtem Token, Wert kommt aus lokaler Shell -->
      <env name="MAGENTO_ADMIN_TOKEN" value="$MAGENTO_ADMIN_TOKEN" />
    </envs>
  </configuration>
</component>

9. Praxis-Setup fuer ein PHP- und Magento-Team

Ein bewaehrtes Setup sieht so aus: Jeder Entwickler aktiviert Settings Sync fuer persoenliche Kategorien wie Keymap, Theme und persoenliche Live Templates. Das Projekt-Repository versioniert dagegen Code-Style, Inspection-Profile und Run Configurations im .idea-Ordner, ergaenzt um eine .gitignore fuer rein lokale Dateien wie workspace.xml.

Zusaetzlich lohnt sich eine kurze Onboarding-Notiz im Projekt-Wiki oder README, die neuen Entwicklern erklaert, welche Einstellungen automatisch aus dem Repository kommen und welche sie selbst ueber Settings Sync oder manuell einrichten muessen. Das verhindert Verwirrung, wenn Erwartung und tatsaechliches Verhalten der IDE auseinanderklaffen.

Ergaenzend empfiehlt sich ein kurzer jaehrlicher Check, ob alle Team-relevanten Einstellungen im .idea-Ordner noch aktuell sind, da sich Magento-Coding-Standards und Team-Konventionen ueber die Zeit weiterentwickeln und die versionierte Konfiguration sonst schleichend veraltet.

Mechanismus Reichweite Speicherort Typischer Inhalt
Settings Sync Persoenlich, geraeteuebergreifend JetBrains-Account oder eigenes Repository Keymap, Theme, persoenliche Templates
.idea-Ordner im Projekt Teamweit, projektgebunden Projekt-Repository Code-Style, Inspection-Profile, Run Configurations
Manueller Settings-Export Punktuell, einmalig ZIP-Datei Kompletter Snapshot fuer Migration
Settings Repository Plugin Teamweit, geraeteuebergreifend Eigenes Git-Repository Erzwungene Team-Defaults

Mironsoft

PhpStorm-Setup, Docker-Integration und Team-Produktivität

PhpStorm, das für Magento- und PHP-Projekte wirklich optimal läuft?

Wir prüfen bestehende PhpStorm-Setups auf langsame Indizierung, ungenutzte Docker-Integration und fehlende Team-Konventionen und richten eine Konfiguration ein, die von der ersten Sekunde an produktiv ist.

Setup-Review

Indexing, Interpreter und Speicher-Einstellungen für große Magento-Projekte optimieren.

Docker-Integration

Xdebug, PHPUnit und Datenbank-Tools sauber mit dem Docker-Setup verbinden.

Team-Konventionen

Inspection-Profile, Code-Style und Live-Templates projektweit vereinheitlichen.

10. Zusammenfassung

Settings Sync: Das Wichtigste auf einen Blick

Settings Sync

Fuer alles Persoenliche gedacht: Keymap, Theme, Plugins und individuelle Templates werden ueber den JetBrains-Account synchronisiert.

.idea-Ordner

Traegt Team-Standards wie Code-Style und Inspection-Profile, wird versioniert und ist damit fuer alle Entwickler gleich.

Trennschaerfe

workspace.xml und tasks.xml gehoeren in die .gitignore, sonst mischen sich lokale UI-Zustaende mit Team-Konfiguration.

Sicherheit

Secrets gehoeren weder in Settings Sync noch in den .idea-Ordner, sondern in lokale Umgebungsvariablen oder private Env-Dateien.

11. FAQ: Settings Sync: Das Wichtigste auf einen Blick

1Braucht Settings Sync einen kostenpflichtigen JetBrains-Account?
Nein, ein kostenloser JetBrains-Account genuegt fuer Settings Sync, unabhaengig davon, ob die PhpStorm-Lizenz persoenlich oder ueber das Unternehmen bezogen wird.
2Was passiert, wenn ich mich auf einem neuen Rechner zum ersten Mal einlogge?
PhpStorm bietet an, entweder die in der Cloud gespeicherten Einstellungen zu uebernehmen oder die lokalen Einstellungen des neuen Rechners als neue Basis zu verwenden.
3Kann ich Settings Sync fuer bestimmte Kategorien deaktivieren?
Ja, unter Settings, Settings Sync lassen sich einzelne Kategorien wie Keymaps, UI-Einstellungen oder Plugins unabhaengig voneinander an- und abschalten.
4Werden Projekt-spezifische Run Configurations ueber Settings Sync verteilt?
Nein, projektgebundene Konfiguration wie Run Configurations, Datenbank-Verbindungen oder der Interpreter-Pfad bleibt ausserhalb von Settings Sync und wird stattdessen im Projekt-.idea-Ordner versioniert.
5Wie unterscheidet sich das vom alten Settings Repository Plugin?
Das Settings Repository Plugin erzwingt teamweit identische Einstellungen ueber ein gemeinsames Git-Repository, waehrend Settings Sync bewusst persoenlich und pro Account bleibt.
6Sollte der gesamte .idea-Ordner ins Repository committed werden?
Nein, nur die Team-relevanten Unterordner wie codeStyles, inspectionProfiles und runConfigurations. Rein lokale Dateien wie workspace.xml gehoeren in die .gitignore.
7Kann ich Settings Sync auch ohne Cloud-Anbindung nutzen?
Ja, ueber ein eigenes Settings Repository, meist ein privates Git-Repository, lassen sich die synchronisierten Daten unter eigener Kontrolle statt in der JetBrains-Cloud speichern.
8Was passiert bei einem Konflikt zwischen Settings Sync und dem .idea-Ordner?
Projektspezifische Einstellungen im .idea-Ordner haben in der Regel Vorrang, da sie naeher am konkreten Projekt liegen als global synchronisierte persoenliche Einstellungen.
9Funktioniert Settings Sync auch mit JetBrains Remote Development?
Ja, fuer die Thin-Client-Oberflaeche greifen die persoenlichen Einstellungen aus Settings Sync, waehrend projektspezifische Konfiguration weiterhin aus dem entfernten .idea-Ordner geladen wird.
10Wie migriere ich Einstellungen von einer alten IDE-Version manuell, falls Settings Sync nicht infrage kommt?
Ueber File, Manage IDE Settings, Export Settings laesst sich ein vollstaendiger Snapshot als ZIP-Datei erzeugen und auf dem Zielrechner wieder importieren.