Elixir-Code-Formatter
Führung
Elixir-Code-Formatter
Fügen Sie Ihren Elixir-Quellcode ein und erhalten Sie sofort im Browser sauberes, mix format-Stil-Ausgabe. Standardisieren Sie die Einrückung, normalisieren Sie den Abstand um Operatoren, sortieren alias / import / require / use Blöcke und erkennen Sie Syntaxprobleme vor dem sie erreichen iex.
Nutzung
- Fügen Sie Elixir-Code in das Eingabefeld ein, ziehen Sie eine
.ex/.exsDatei auf die Upload-Funktion, oder klicken Sie Probieren Sie ein Beispiel aus. - Optional passen Sie das maximale Zeilenlänge (Standardwert 98, entspricht
mix format) - Umschalten damit überlange Zeilen markiert werden. Sortieren von Alias-/Import-/Require-/Use-
- wenn Sie konsekutive Blöcke alphabetisch sortieren möchten.
formatted.ex.
Funktionen
- Die formatierte Ausgabe erscheint in Echtzeit. Kopieren Sie sie oder laden Sie sie als mix format-stilige Einrückung
do/fn– 2-Whitespace-Einrückung, verfolgtendundelse/rescue/catch/afterre-dent. - Operatorabstand – standardisiert
=,==,|>,->,<-,::,++,<>und Freunde. - Map- und Struct-Vorlagen – verkürzt
%{...}und%MyStruct{...}ohne die Modulo-Arithmetik zu brechen. - Bitstring-Klammern – behält
<<...>>ohne zusätzliche Leerzeichen hinzuzufügen. - damit überlange Zeilen markiert werden. – alphabetisiert konsekutive Blöcke (Schlüsselwort + Einrückung muss übereinstimmen).
- Syntaxvalidierung – erkennt unbalancierte Klammern, Klammern, geschweifte Klammern, Bitstrings,
do/endUngleichheiten und unabschließende Heredocs. - Zeilenlängewarnung – markiert Zeilen, die Ihre konfigurierte Maximalwert überschreiten (40–200).
- Heredocs, Sigils, Charlists – String-Inhalte und
~r/.../,~s(...),~S"""..."""werden wörtlich beibehalten. - Drag-and-Drop-Upload – formatiert jede
.ex/.exsDatei direkt. - 100% clientseitig – nichts wird hochgeladen; funktioniert offline, sobald die Seite geladen ist.
Häufig gestellte Fragen
-
Was ist
mix formatund warum braucht Elixir eines?mix formatist das offizielle Elixir-Quellcode-Formatierungs-Tool, eingeführt in Elixir 1.6. Es parsiert den Quellcode in einen AST und formatiert ihn dann mit einem einheitlichen, deterministischen Stil zurück. Da jedes Elixir-Projekt dieselben Konventionen teilt, beenden Teams die Diskussionen über Leerzeichen, Fokus bei Code-Reviews liegt auf der Logik und nicht auf der Layout, und Änderungsvergleiche bleiben sauber über verschiedene Editor- und Betriebssysteme hinweg. -
Was tut der Pipe-Operator
|>tatsächlich?Der Pipe-Operator übergeben den Wert seiner linken Seite als das erste Argument der Funktion auf seiner rechten Seite. Also
data |> transform() |> save()ist äquivalent zusave(transform(data)). Pipes lesen von oben nach unten in der Reihenfolge, in der Operationen stattfinden, weshalb idiomatische Elixir-Code jede|>auf einer eigenen Zeile mit zwei Leerzeichen Einrückung von dem Wert, der gepipet wird, platziert. -
Warum sehen Elixir-Variable als unveränderlich aus, obwohl sie neu zugewiesen werden?
Elixir-Variable sind Neubindungen, nicht Mutationen.
x = 1gefolgt vonx = 2erstellt eine neue Bindung des Namensx; der ursprüngliche Wert1existiert weiterhin im Speicher, bis er durch Garbage Collection entfernt wird. Innerhalb von Musterabgleichsoperationen,=ist das Musterabgleichsoperator, nicht Zuweisung, weshalb{:ok, value} = resultsimultan dekonstruiert und gebunden wird. -
Welcher Unterschied besteht zwischen einem
doBlock und derdo:Keyword-Abkürzung?def foo do ... endist die mehrzeilige Blockform, bei der der Körper beliebig viele Ausdrücke enthalten kann.def foo, do: exprist die Abkürzung für einen einzigen Ausdruck und wird als 2-Tupel in einer Keyword-Liste interpretiert.{:do, expr}Beide erzeugen identische Bytecodes; die Abkürzung wird für Einzeiler bevorzugt, während die Blockform für mehrzeilige Körper verwendet wird. -
Warum sind Charlists und Binaries in Elixir unterschiedlich?
Ein doppelt angeführter String ist ein UTF-8-Binary – eine Folge von Bytes. Ein einzig angeführter Charlist ist eine verkettete Liste von Unicode-Codepunkten, abgeleitet von Erlang, wo Strings traditionell Listen von ganzen Zahlen sind. Die meisten Elixir-APIs (Phoenix, Ecto, Plug) arbeiten mit Binaries; Charlists treten hauptsächlich an Erlang-Interoperationsgrenzen auf (
:inets,:gen_tcp, etc.), wo die zugrundeliegende Bibliothek Listen erwartet.
Erweiterungen installieren
IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche
恵 Die Anzeigetafel ist eingetroffen!
Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!
Unverzichtbare Tools
Alle Neuheiten
AlleAktualisieren: Unser neuestes Werkzeug hinzugefügt am Juni 12, 2026
