Als Programmier:in entwickelt man mit der Zeit eine eigene Code-"Handschrift". Benutzt du für Strings einfache Anführungszeichen ('
) oder doppelte ("
)? Benutzt du Semikolons? Benutzt du für Einrückungen Tabstopps oder Leerzeichen und wie viele?
Innerhalb eines Projekts ist es auf jeden Fall angenehm, überall die gleiche Formatierung zu haben. Das sorgt für eine bessere Übersicht und befriedigt nebenbei den inneren Monk.
Arbeitet man mit mehreren Personen an einem Projekt, kannst du entweder regelmäßig von Hand den Code der anderen formatieren oder du lässt es machen, automatisch!
Das geht mit dem Tool Prettier! Du legst zuvor in einer Config-Datei (.prettierrc) die Regeln fest (Semikolons ja/nein, maximale Zeilenlänge etc.) und führst dann Prettier aus. In einer separaten Datei (.prettierignore) kannst du noch definieren, welche Ordner und Dateien dabei unangetastet bleiben sollen.
Folge einfach dem offiziellen Guide, um Prettier bei dir einzurichten: Install · Prettier
Du kannst Prettier jedes Mal manuell ausführen oder dafür eine Extension in deinem Code-Editor installieren. Ich finde es allerdings angenehmer, dass Prettier automatisch vor jedem Git Commit ausgeführt wird. So wird sichergestellt, dass kein unschöner Code nach GitHub gelangt (oder wo auch immer du Git hostest). Auch funktioniert das ganze dann unabhängig davon, welchen Code-Editor du oder Team-Kolleg:innen verwenden.
Ich bin einfach den Abschnitt "Git hooks" gefolgt: Install · Prettier
Das Tool "Husky" sorgt also dafür, dass Prettier vor jedem Git Commit-Befehl ausgeführt wird und der Code formatiert wird.
Meine .prettierrc-Datei sieht so aus:
{
"tabWidth": 4,
"useTabs": false,
"semi": false,
"singleQuote": false,
"trailingComma": "none",
"bracketSpacing": true,
"bracketSameLine": false,
"fluid": false
}
"
).{ foo: bar }
).Ich habe das Tool lgk-prettier erstellt, das diese Konfiguration nur mit diesem Befehl anlegt:
npx -y lgk-prettier
In diesem Artikel erfährst du mehr über lgk-prettier.
Was du in .prettierignore reinschreibst, ist stark von deinem jeweiligem Projekt abhängig. Grundsätzlich sollte da alles rein, was kompiliert wird (vielleicht build-Ordner).