Formatteur de code Elixir
Guide
Formatteur de code Elixir
Collez votre code Elixir source et obtenez instantanément une sortie propre, mix format– style de sortie. Normalisez l'indentation, normalisez l'espace autour des opérateurs, trie alias / import / require / use les blocs, et détectez les problèmes de syntaxe avant qu'ils ne parviennent iex.
Comment utiliser
- Collez du code Elixir dans la zone d'entrée, déposez un
.ex/.exsfichier sur le chargeur, ou cliquez Essayez un exemple. - Optionnellement ajuster le longueur maximale de ligne (par défaut 98, correspondant
mix format). - Basculer Trier les alias / import / require / use si vous souhaitez que les blocs consécutifs soient alphabétisés.
- La sortie formatée s'affiche en temps réel. Copiez-la ou téléchargez-la sous forme de
formatted.ex.
Caractéristiques
- indentation mix format-style – 2 espaces d'indentation, suit
do/fn↔endetelse/rescue/catch/afterre-dents. - Espace autour des opérateurs – standardise
=,==,|>,->,<-,::,++,<>, et amis. - Préfixes de map et de struct – réduit
%{...}et%MyStruct{...}sans rompre l'arithmétique modulo. - Parenthèses de bitstring – préserve
<<...>>sans ajouter d'espaces inutiles. - Trier les alias / import / require / use – alphabétise les blocs consécutifs (le mot-clé + l'indentation doivent correspondre).
- Validation de syntaxe – détecte les parenthèses, crochets, accolades, bitstrings,
do/endincohérences et heredocs non terminés. - Avertissement sur la longueur de ligne – signale les lignes dépassant la longueur maximale configurée (40–200).
- Heredocs, sigils, charlists – préserve les intérieurs des chaînes et
~r/.../,~s(...),~S"""..."""exactement. - Téléchargement par glissement – formate n'importe quel
.ex/.exsfichier directement. - Traitement côté client à 100 % – rien n'est envoyé ; fonctionne en mode hors ligne une fois que la page est chargée.
FAQ
-
Qu'est-ce que
mix formatet pourquoi Elixir en a besoin ?mix formatest le formateur officiel de code Elixir, introduit dans Elixir 1.6. Il analyse le code source en AST et le reformate en utilisant un style unique et déterministe. Puisque tous les projets Elixir partagent les mêmes conventions, les équipes cessent de discuter de l'espace blanc, les revues de code se concentrent sur la logique plutôt que sur l'organisation, et les différences restent propres quel que soit l'éditeur ou le système d'exploitation. -
Qu'est-ce que fait exactement l'opérateur pipe
|>?L'opérateur pipe transmet la valeur à sa gauche comme premier argument à la fonction à sa droite. Ainsi, est équivalent à
data |> transform() |> save(). Les pipes lisent de haut en bas dans l'ordre des opérations, ce qui explique pourquoi l'Elixir idiomatique place chaquesave(transform(data))sur une ligne à deux espaces d'indentation à partir de la valeur qu'il pipe.|>Pourquoi les variables Elixir semblent-elles immuables même lorsqu'elles sont réaffectées ? -
Les variables Elixir sont des réaffectations, pas des mutations.
suivie de
x = 1crée une nouvelle liaison du nomx = 2; la valeur d'originexexiste toujours en mémoire jusqu'à ce qu'elle soit collectée. Dans les matchings,1est l'opérateur de correspondance, pas une affectation, ce qui explique pourquoi=déstructure et lie simultanément.{:ok, value} = resultQuelle est la différence entre un -
bloc et le raccourci mot-clé ?
doest la forme à plusieurs lignes du bloc, où le corps peut contenir un nombre quelconque d'expressions.do:est le raccourci pour une liste mot-clé à corps unique et est interprété comme un couple de 2-tupledef foo do ... enddans une liste mot-clé. Les deux produisent du bytecode identique ; le raccourci est préféré pour les lignes simples et la forme bloc pour les corps à plusieurs instructions.def foo, do: exprPourquoi les charlists et les binaires sont-ils différents en Elixir ?{:do, expr}Une chaîne entre guillemets est un binaire UTF-8 — une suite de bytes. Une chaîne entre apostrophes est une liste liée de codepoints Unicode, héritée d'Erlang où les chaînes sont traditionnellement des listes d'entiers. La plupart des API Elixir (Phoenix, Ecto, Plug) fonctionnent avec des binaires ; les charlists apparaissent principalement aux interfaces avec Erlang ( -
, etc.) où la bibliothèque sous-jacente attend des listes.
Collez votre code Elixir ici...
:inets,:gen_tcpFormateur de code Elixir 1
Installez nos extensions
Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide
恵 Le Tableau de Bord Est Arrivé !
Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !
Outils essentiels
Tout voir Nouveautés
Tout voirMise à jour: Notre dernier outil Convertisseur Excel (XLSX) en CSV 1
