Elixir コードフォーマッター
Elixir ソースコードをフォーマットして美しくします — 演算子/カンマのスペーシング、do/fn/end ブロックの深さのインデント、空行の正規化、および alias/import/require/use グループのオプションのアルファベット順の並べ替え、mix format の規約に合わせて。括弧とブロックの基本的なバランスチェックが含まれます。お使いのブラウザで完全に実行されます。
入力
長すぎる行をフラグするために使用されます (mix format のデフォルトは 98)。
出力
| Issue |
|---|
| No data yet |
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/elixir-code-formatter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"elixirInput": "defmodule MyApp.Accounts.User do\n@moduledoc \"\"\"\n…",
"maxLineLength": "98",
"sortAliases": "true"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `elixir-code-formatter` tool (Elixir Code Formatter) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/elixir-code-formatter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Elixir コードフォーマッター — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
フォーマットされていない Elixir ソースコードを貼り付けると、演算子/カンマのスペーシング、do/fn/end ブロックの深さのインデント、正規化された空行が一貫したコードが返されます — ブラウザベースのフォーマッターが mix format の規約にできるだけ近く対応しています。文字列、文字リスト、シギル (~r、~D など)、heredocs、およびコメントがトークン化され、そのまま保持されます。周辺のコードのみが再フォーマットされます。迅速な検証パスは、バランスの取れていない括弧とマッチしていない do/fn/end ブロックをフラグします。すべてはお使いのブラウザでローカルに実行されます。
使い方
- Elixir ソースコードを貼り付けるか、
.ex/.exsファイルをアップロードしてください。 - 最大行長を設定して、長すぎる行をフラグします (
mix formatのデフォルトは 98)。 - alias / import / require / use ブロックをソートしてグループ化をオンにして、
alias/import/require/useステートメントの連続した各実行をモジュールパスでアルファベット順に並べ替えます — オフにして、元の順序を保つことができます。 - 検証パネルを確認して構文の問題をチェックし、フォーマット済みの結果をコピーまたはダウンロードしてください。
フォーマットされるもの
- バイナリ演算子 (
+ - * / == != <= >= && || <> .. |> -> <-) と単項演算子-/!/^/&の周辺のスペーシング。これらは演算数に密着したままです。 - カンマ、セミコロン、およびキーワードリストと
do:/else:ブロックで使用されるkey:略記法。 %{...}マップと%MyStruct{...}struct リテラル。後続の括弧に密着したままです。do/fn↔endブロックの深さと括弧の深さによるインデント。else/rescue/catch/afterは独自のブロックレベルに戻されます。- 空行の正規化: 空行の実行を 1 つに統合し、
end/)/]/}の直前に迷い込んだ空白を削除し、他のコード (ただしブロック開きの直後や独自の@doc/@moduledoc/@specの直後ではない) に続くdef/defmodule/defprotocol/… 宣言の前に挿入します。
このツールはコードをセマンティックに検証しますか?
いいえ — これは構造のみをチェックします: バランスの取れていない ()[]{}}、その end (またはその逆) なしのマッチしない do/fn、および終了していない heredoc。定義されていない関数や成功しないパターンマッチはキャッチされません。実際の検証には、mix compile または mix format --check-formatted を使用してください。
私のコードはどこかにアップロードされていますか?
いいえ。トークン化、スペーシング、再インデントはすべてお使いのブラウザでローカルに実行されます。Elixir ソースコードがサーバーに送信されることはありません。
別の言語をフォーマットする必要がありますか?
Zig 言語フォーマッターまたは Lua コードフォーマッターを使用して、手作りの他のブラウザベースのフォーマッターを使用してください。