代码格式化
粘贴代码就自动排版,语言自动识别,无需点按钮。
格式化结果
使用方法
- 把代码粘贴到输入框,下方即时排版,没有「格式化」按钮。
- 语言会从代码里自动判断;猜错时从下拉框手动选择。缩进 2/4 空格、行宽 80/100/120 切换后立即重排。
- 确认结果后复制,或按实际语言下载为 .js / .ts / .json / .py 等文件。
示例
输入
interface User{id:number;name:string;roles?:string[]}
function greet(user:User,lang:"zh"|"en"="zh"):string{if(!user.roles?.length){return lang==="zh"?"你好,访客":"Hello, guest";}return lang==="zh"?`你好,${user.name}`:`Hello, ${user.name}`;}格式化结果
interface User {
id: number;
name: string;
roles?: string[];
}
function greet(user: User, lang: "zh" | "en" = "zh"): string {
if (!user.roles?.length) {
return lang === "zh" ? "你好,访客" : "Hello, guest";
}
return lang === "zh" ? `你好,${user.name}` : `Hello, ${user.name}`;
}默认规则(2 空格、行宽 80):Prettier 会补分号、统一双引号;模板字符串与访客回退文案保持原样。
规则、局限与已知问题
- 格式化只改空白与格式器自身的规范化(引号、分号、尾逗号),不执行代码、不排序键、不改标识符,字符串内容保持不变。
- 引擎:JavaScript、TypeScript、JSON、CSS、SCSS、Less、HTML、Vue、GraphQL 用 Prettier;Python 用 Ruff(Black 兼容)。只在首次使用某语言时下载对应引擎,浏览器会缓存。
- 自动识别是启发式:以标签开头的片段可能被判为 HTML(即使它是 JSX),请手动选 JavaScript 或 TypeScript;看起来像 JSON 但解析失败的对象会回退到 JavaScript。
- 手动选择优先:选了 CSS 就不会悄悄按 SCSS 输出;TypeScript 会先试 .ts,再试 .tsx。
- JSON 使用 Prettier 的 json parser,短对象可能保持一行;需要严格校验、键排序或压缩请用 JSON 工具箱。重复键保留最后一个值(与 JSON.parse 一致)。
- Prettier 默认风格固定:双引号、分号、合法处的尾逗号;不读取 .prettierrc / .editorconfig,也不提供引号/分号选项。Python 固定双引号并尊重 magic trailing comma(Ruff/Black)。
- HTML 空白按 htmlWhitespaceSensitivity: css 处理,内联元素周围的空格可能与原文不同。不支持 Markdown / YAML / XML,分别由 Markdown 编辑器、config-converter 与 XML 格式化覆盖。
- 输出使用 LF、末尾无空行,格式化是幂等的。超过 20 万字符时结果会在停止输入约 0.6 秒后更新;格式化在 Web Worker 中执行,原文不会上传、不会写入 URL,也不会保存。
相关工具
代码排整齐之后,通常还会用到这些。