Elixir 代码格式化工具
格式化和美化 Elixir 源代码 — 操作符/逗号间距、do/fn/end 块深度缩进、空行规范化,以及 alias/import/require/use 组的可选字母排序,符合 mix format 约定。包括基本的括号和块平衡验证。完全在您的浏览器中运行。
输入
Drop a file or browse
One file · text
或
用于标记过长行(mix format 默认值为 98)。
输出
验证
| Issue |
|---|
| No data yet |
格式化的 Elixir 代码
这对您有帮助吗?
使用此工具的更多方式
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_HERE将此粘贴给任何已连接 IOTools 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 调用费用 | 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{...}结构体文字,紧贴后面的括号。- 按
do/fn↔end块深度和括号深度的缩进,else/rescue/catch/after回退到其块自身的级别。 - 空行规范化:将空行序列合并为一行,删除
end/)/]/}前的杂散空白,并在跟随其他代码的def/defmodule/defprotocol/… 声明前插入一行(但不在块打开器之后或其自身@doc/@moduledoc/@spec之后)。
它在语义上验证代码吗?
不 — 这只检查结构:不平衡的 ()[]{}}、没有其 end 的不匹配 do/fn(反之亦然)和未终止的 heredoc。它不会捕获未定义的函数或永远不能成功的模式匹配。对于真正的验证,请使用 mix compile 或 mix format --check-formatted。
我的代码被上传到哪里了?
没有。分词、间距和重新缩进都在您的浏览器中本地运行;您的 Elixir 源代码永远不会发送到服务器。
需要格式化不同的语言?
使用 Zig 语言格式化工具或 Lua 代码格式化工具以获取其他手动构建的基于浏览器的格式化工具。
elixircode formatterbeautifymix formatindentpretty print