JavaScript 格式化器

粘贴一段经过压缩或缩进不当的JavaScript代码片段,即可获得格式规范、清晰易读的代码,其格式完全遵循编辑器的标准规则。可自定义选项卡与空格设置、单引号/双引号使用、分号是否添加、ES5标准下的末尾逗号处理方式等参数。该工具兼容现代语法,支持可选链式连接、空值合并、 JSX 、TypeScript以及顶级await语句。

如何格式化 JavaScript

  1. 1

    粘贴源代码

    任何有效的JavaScript、 JSX 或TypeScript代码均可。解析器会根据语法结构自动识别对应的编程语言方言。

  2. 2

    设置您的偏好

    缩进大小、制表符与空格的使用、引号样式、分号、打印宽度以及末尾逗号。

  3. 3

    格式

    该工具可执行与Prettier兼容的处理流程,并输出格式化后的结果。

  4. 4

    复制输出内容

    一键复制或下载为文件。原始缩进将被丢弃,不会叠加在上方。

样式选项

选项 默认值
缩进 tab24 2个空格
引用样式 singledouble 双引号
分号 alwaysnever 始终
打印宽度 60 - 120 80
逗号标记 nonees5all es5
箭头括号 alwaysavoid 始终
括号间距 truefalse true
JSX 单引号 truefalse false

为什么格式很重要

格式化并非仅为美观,其核心在于减轻认知负担。规范统一的代码格式能让审阅者专注于逻辑变更,而非费力寻找错位的大括号。

  • “Bike-shedding”流程在项目采用格式化工具后即告结束。git diff 展示的是实际修改内容,而非关于缩进格式的争议之处。
  • 预提交钩子(使用 Husky 和 lint-staged 等工具)会在文件提交前自动格式化已准备好的版本文件。
  • 编辑器集成(VS Code、WebStorm)在保存时会应用相同的规则。

格式设置无法实现的功能

  • 不会产生代码异味。 格式规则(no-unused-varseqeqeq)属于 ESLint 的管辖范围;格式化工具仅调整空格和标点符号的排列方式,并不会因逻辑问题而拒绝代码。
  • 该工具无法修复语法错误。 若输入的代码为无效的 JavaScript 代码,格式化器将抛出异常。请将其作为代码是否至少能被正确解析的验证手段。
  • 该规则不强制执行命名规范。 camelCasesnake_case 是代码检查规则,而非格式化规则。

常见错误

  • 对抗格式化工具。 若在程序运行后仍频繁重新格式化,既浪费时间又效率低下。建议配置相关选项或接受项目的默认设置。
  • 在生成文件上运行格式化操作。Bundler输出结果、反编译代码或.min.js均无法受益;仅源文件格式化有效,其他产物均无效。
  • **无需解析即可格式化。**使用regex“ PrettyPrint”功能会损坏模板字面量、regex字面量及 JSX 。请始终使用基于AST的格式化工具(如本工具)。

常见问题

是的。解析器能够识别TypeScript语法(类型、接口、泛型、装饰符)并进行相应格式化处理。.tsx/.jsx文件中也支持 JSX 语言。

其遵循与Prettier默认设置相同的规则,并可通过常规选项(打印宽度、引号、分号、末尾逗号)进行配置。在此格式化的文件应与使用相同配置的Prettier生成文件格式一致。

该格式化工具要求使用有效且可解析的JavaScript代码。若出现错误,通常表明代码存在语法问题(如括号未闭合、 JSX 无效或拼写错误)。若提示信息不明确,请先运行代码进行代码检查。

是的。单行注释(//)和块状注释(/* */)均保留在输出结果中,并保持与源文件中的位置一致。

相关工具

此工具还提供其他语言版本