不喜欢广告? 无广告 今天

Elixir代码格式化器

开发人员文本
广告 移除?

或者
用于标记过长的行(mix 格式默认为 98)。
广告 移除?

指导

Elixir代码格式化工具

Elixir代码格式化器

粘贴您的 Elixir 源代码,即可在浏览器中立即获得整洁的输出。 mix format样式输出,标准化缩进,规范化运算符周围的空格,排序块,并在代码进入之前发现表面语法问题。 alias / import / require / use 块,以及在提交前发现表面语法问题。 iex。所有操作均在客户端进行,因此您的代码永远不会离开您的机器。

如何使用

  1. 将 Elixir 代码粘贴到输入框中,或将文件拖放到上传器中,或点击 .ex / .exs 最大行长度 尝试一个示例.
  2. 可选地调整 (默认为 98,与 )一致,以标记过长的行。 mix format对 alias / import / require / use
  3. 切换 如果希望连续的块按字母顺序排列。 格式化输出会实时显示。您可以复制它,或将其下载为
  4. mix format 风格的缩进 formatted.ex.

特征

  • —— 2 个空格缩进,跟踪do / fn 重缩进。 endelse / rescue / catch / after —— 标准化
  • 操作符间距 ,以及相关函数。 =, ==, |>, ->, <-, ::, ++, <>映射与结构体前缀
  • —— 在不破坏模运算的情况下收紧%{...}%MyStruct{...} 位字符串括号
  • —— 保留 ,不添加多余的空格。 <<...>> —— 对连续的块进行字母排序(关键字 + 缩进必须匹配)。
  • 如果希望连续的块按字母顺序排列。 —— 捕获不匹配的括号、方括号、大括号、位字符串、不匹配以及未终止的这里文档。
  • 语法验证 行长度警告 do/end —— 标记超出您配置的最大长度(40–200)的行。
  • 这里文档、sigils、字符列表 —— 保留字符串内部和
  • 的原始内容。 拖放上传 ~r/.../, ~s(...), ~S"""...""" —— 可直接格式化任何文件。
  • —— 无需上传文件;页面加载后即可离线使用。 什么是 .ex / .exs 以及为什么 Elixir 需要它?
  • 100% 客户端 是 Elixir 的官方代码格式化工具,自 Elixir 1.6 版本引入。它将源代码解析为 AST,并使用单一、确定性的样式重新格式化输出。由于每个 Elixir 项目都遵循相同的规范,团队不再为空白字符争论,代码审查关注逻辑而非布局,且在不同编辑器和操作系统之间差异保持干净。

常问问题

  1. 管道操作符 mix format 实际上做了什么?

    mix format 管道操作符将左侧的值作为其右侧函数的第一个参数传递。因此,

  2. 。管道操作从上到下按操作顺序读取,这就是为什么惯用的 Elixir 代码会将每个 |> 单独放在一行,并且缩进两个空格,以表示其从被管道的值中获取。

    为什么 Elixir 变量看起来是不可变的,即使它们被重新赋值? Elixir 变量是重新绑定,而不是突变。 跟随 data |> transform() |> save() 等同于 save(transform(data))创建名称 |> 的新绑定;原始值

  3. 仍保留在内存中,直到被垃圾回收。在模式匹配中,

    是匹配操作符,而不是赋值,因此 x = 1 同时解构并绑定。 x = 2 块和关键字简写之间的区别是什么? x是多行块形式,其中体可以包含任意数量的表达式。 1 是单表达式体的关键字简写形式,并被解析为关键字列表中的 2 元组。 = 两者生成相同的字节码;对于单行表达式,推荐使用简写形式,对于多语句体,则推荐使用块形式。 {:ok, value} = result 为什么 Elixir 中字符列表和二进制数据不同?

  4. 双引号字符串是 UTF-8 二进制——字节序列。单引号字符列表是 Unicode 代码点的链表,源自 Erlang,其中字符串传统上是整数列表。大多数 Elixir API(Phoenix、Ecto、Plug)使用二进制数据;字符列表主要出现在 Erlang 互操作边界( do ,等等)中,底层库期望列表。 do: 在此处粘贴您的 Elixir 代码...

    def foo do ... end Elixir 代码格式化器 1 def foo, do: expr Elixir 代码格式化器 {:do, expr} 在此处粘贴您的 Elixir 源代码,即可在浏览器中立即获得整洁的 mix format 风格输出。标准化缩进,规范化运算符周围的空格,

  5. 为什么Elixir中charlists和二进制数据不同?

    双引号字符串是一个UTF-8二进制数据——一串字节。单引号的字符列表是一个Unicode码点的链表,源自Erlang,其中字符串传统上是整数列表。大多数Elixir API(Phoenix、Ecto、Plug)都使用二进制数据;字符列表主要出现在Erlang互操作边界(:inets, :gen_tcp,等等)中,因为底层库期望的是列表。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?