不喜欢广告? 无广告 今天

Julia代码格式化器

开发人员文本
广告 移除?
JuliaFormatter 默认设置为 92 个字符(仅软警告)。
广告 移除?

指导

Julia 代码格式化器

Julia代码格式化器

粘贴任何 Julia(.jl)源代码,即可立即获得遵循更广泛 Julia 科学计算社区所采用规范的格式化输出。该工具完全在您的浏览器中运行——无需 Julia 运行时,无需服务器往返——因此即使是机密研究或专有代码也可以安全地进行清理。

该格式化器遵循 JuliaFormatter.jl:四个空格缩进,二元运算符周围的一致空格,紧致的类型注解,例如 x::IntT <: Real,保留 juxtaposition 乘法,如 ,以及在 92 个字符处可配置的软行长度警告。

如何使用

  1. 将您的 Julia 代码粘贴到 Julia 代码 文本区域中每行输入一个颜色,或点击 尝试一个示例 以加载一个示例模块。
  2. 选择一个 缩进样式 ——四个空格是 JuliaFormatter 的默认设置,两个空格和制表符也都是可用的。
  3. 调整 行长度 如果您的团队使用不同于 92 个字符的宽度,请调整滑块。长行会被报告但不会被自动断开,因此结果保持语法等价。
  4. 切换 二元运算符周围的间距, 紧致的类型注解间距, 保留注释,并且 合并多个空行 按个人喜好设置。
  5. 点击 格式。通过剪贴板按钮复制结果,或将其下载为 .jl 文件。

特征

  • JuliaFormatter 默认风格 ——四个空格缩进,空行约定,以及一致的运算符间距,出厂即具备。
  • 块感知缩进 ——正确处理 function, if/elseif/else, for, while, try/catch/finally, let, begin, do, module, struct, quote, macro,并且 abstract type/primitive type 声明。
  • 支持 Unicode 的词法分析器 ——识别希腊字母及其他 Unicode 标识符,例如 π, α, θ,并且 Δ.
  • 保留 juxtaposition 乘法 ——数值系数写成 0.5x 保持紧凑,而显式 2 * π 则保持间距。
  • 紧致的类型注解 - x::Int, T <: Real,并且 Vector{<:Shape} 保持紧凑。
  • 注释和字符串被尊重 ——行注释(#),嵌套块注释(#=…=#),三引号字符串,前缀字符串(r"…", raw"…"),字符字面量,以及字符串插值均保持不变。
  • 软行长度报告 ——超出行数会被计数,以便您手动重构,而不会导致格式化器破坏语义。
  • 一键复制和下载 作为 formatted.jl.
  • 100% 客户端 ——没有任何内容离开您的浏览器。

广告 移除?

常问问题

  1. JuliaFormatter 默认遵循哪种风格指南?

    JuliaFormatter.jl 的默认风格是 Julia 社区中最广泛采用的规范。它使用四个空格缩进,为大多数二元运算符添加单个空格,保持类型注解和子类型运算符紧致(例如 x::Int, T<:Real),保留 juxtaposition 乘法,如 ,并设定一个约 92 个字符的软行宽。多个 Julia 组织的包将此风格作为贡献的基准。

  2. Julia 允许数字和标识符之间不使用运算符直接书写,这是为什么?

    Julia 将一个数字字面量后紧跟标识符或括号表达式视为隐式乘法——这一特性称为 juxtaposition。因此 表示 2 * π, 0.5x 表示 0.5 * x,并且 3(a + b) 表示 3 * (a + b)。数字字面量必须在前;反向(π2)无效,因为 Julia 无法判断它是乘法还是标识符名称的一部分。从风格上讲,惯例是保持 juxtaposition 无空格紧致。

  3. Julia 的块结构与 C 风格语言有何不同?

    Julia 使用关键字限定的块,而不是大括号。几乎每一个块打开符—— function, if, for, while, let, begin, try, do, module, struct, macro, quote,并且 abstract type/primitive type ——都由一个匹配的 end 标记关闭。像 elseif, else, catch,并且 finally 这样的延续项与打开符处于相同缩进位置,但会在下一层深度引入新的体。这使得 Julia 代码在视觉上更接近 Ruby 或 Lua,而非 Java 或 C。

  4. 普通字符串与 Julia 中的非标准(前缀)字符串字面量有何区别?

    在 Julia 中,像 "hello" 这样的普通双引号字符串由标准 String 构造函数处理,包含反斜杠转义序列。而像 r"\d+"raw"C:\path" 这样的前缀字符串则调用非标准字符串宏—— r 用于正则表达式, raw 用于未转义内容, b 用于字节数组,以及其他许多包括用户自定义的宏。在非标准字面量内部,内容将原样传递,因此反斜杠不会被词法分析器消耗。三引号变体("""…""")可跨多行,并去除常见的首行缩进。

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

安装我们的扩展

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

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

记分板已到达!

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

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

新闻角 包含技术亮点

参与其中

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

给我买杯咖啡
广告 移除?