Gibt es etwas, das die Gleichheitszeichen (=) in Textdateien automatisch ausrichten kann?

Wir müssen das =-Zeichen in unseren Terraform-Dateien am längsten Variablennamen ausrichten. Gibt es ein Tool, das das automatisch macht?

Zum Beispiel

thomas = "train"
harrypotter = "wizard"
roger = "rabbit"

...würde werden...

thomas      = "train"
harrypotter = "wizard"
roger       = "rabbit"

Bonuspunkte: Ich verwende hauptsächlich PyCharm, also wäre ich überglücklich, wenn es ein Plugin für PyCharm wäre.

Antworten (3)

Smart Align ist ein PyCharm-Plugin, das genau das tut. Nur,

Windows & Linux

  1. Klicken Sie in die Datei
  2. Strg + a
  3. Alt + ⇧ + -

Mac

  1. Klicken Sie in die Datei
  2. ⌘ + a
  3. ⌥ + ⇧ + -

Erledigt

Installieren Sie einfach das „Terraform and HCL“ -Plugin von Jetbrains. Es unterstützt auch Syntax-Highglighting und viele weitere Funktionen.

Nachdem Sie es installiert haben, öffnen Sie Ihre Datei und drücken Sie "Strg+Alt+L", um Ihren Code neu zu formatieren.

Überprüfen Sie vielleicht die Einstellungen "Eigenschaften ausrichten" in Einstellungen->Editor->Codestil->Terraform-Konfiguration und dort im letzten Tab rechts namens "Andere" (siehe Screenshot). Es muss "On equals" sein, aber das ist die Standardeinstellung.

Geben Sie hier die Bildbeschreibung ein

Wie bringt man dieses Plugin dazu, alle logischen Blöcke gleich auszurichten? Soweit ich sehen kann, richtet es nur jeden logischen Block separat aus.
@James Ich glaube nicht, dass das Plugin das kann. Die Formatierung wird separat auf Blöcke angewendet, nicht gleichmäßig auf die gesamte Datei. Ihre ursprüngliche Frage implizierte nicht, dass dies eine angeforderte Funktion ist, aber wenn Sie möchten, dass dies geschieht, ist Smart Alignment möglicherweise die bessere Lösung für Sie :)
Danke und Entschuldigung für die Auslassung. Ich nehme nicht an, dass ich fragen kann, ob Sie wissen, wie ich Smart Aline zur Precommit-Konfiguration hinzufügen würde, oder?

Wie üblich - Unix-Shell-Dienstprogramme zur Rettung! Insbesondere Spalte :

$ column -t
thomas = "train"
harrypotter = "wizard"
roger = "rabbit"

thomas         = "train"
harrypotter    = "wizard"
roger          = "rabbit"

Und es funktioniert natürlich auch mit Dateien:

$ cat my_file.txt
thomas = "train"
harrypotter = "wizard"
roger = "rabbit"
$ column -t my_file.txt
thomas         = "train"
harrypotter    = "wizard"
roger          = "rabbit"
Schön und einfach! Ihre Antwort kann davon profitieren, ein Beispiel hinzuzufügen, das zeigt, wie Eingaben aus einer Datei verarbeitet werden. So oder so, positiv bewertet!
@RockPaperLz-MaskitorCasket: Ich dachte, das wäre offensichtlich, aber ok.
Ja, es ist offensichtlich für diejenigen von uns, die wissen, wie einfach es ist. :)