跳到工具区
Web 开发

TypeScript / TSX 格式化

使用 Prettier 在浏览器本地格式化 TypeScript 与 TSX,可明确选择语法或让工具按 JSX 特征自动判断。

Web Worker 仅本地处理工具
输入0 个字符
结果0 个字符
就绪

同一个尖括号 · 两套语法解释

先告诉 parser:这里能不能写 JSX。

在 .ts 中,尖括号可能属于类型语法;在 .tsx 中,相同 token 可能开启 JSX。自动模式只会根据常见 JSX 特征给出文件类型提示,遇到泛型或旧式尖括号断言等歧义时,应明确选择 TypeScript 或 TSX。

.ts · TypeScript

const value = <User>input

旧式尖括号类型断言在 TypeScript 中合法。

.tsx · TypeScript + JSX

const view = <UserCard />

尖括号用于 JSX;类型断言应改写为 input as User。

TypeScript / TSX 语法样本

格式化器必须先理解需要保留的语法。

SYNTAX 01

仅类型导入

import type { User } from './types'
SYNTAX 02

satisfies

const theme = raw satisfies Theme
SYNTAX 03

泛型约束

function pick<T extends Entity>(value: T)
SYNTAX 04

映射类型

type Flags<T> = { [K in keyof T]?: boolean }
SYNTAX 05

条件类型

type Id<T> = T extends Entity ? string : never
SYNTAX 06

TSX props

const Card = (props: CardProps) => <article />

格式化处理链

先完成 parse,再按同一程序结构重新打印。

01

源码

token、注释、类型和 JSX 以文本形式进入 Worker。

02

TypeScript parser

所选的 .ts / .tsx 文件语境决定如何解释歧义 token。

03

Prettier printer

根据缩进和 print width 重新选择换行与空格。

04

格式化结果

类型和注释仍是源码;没有任何代码被执行。

四条能力边界

能成功格式化,不代表能通过构建。

类型检查

这些类型在项目上下文里真的能组合吗?

Next: tsc --noEmit

Lint

代码是否符合语义规则和仓库规范?

Next: ESLint

转译

目标浏览器或运行时最终需要什么 JavaScript?

Next: tsc / bundler

执行

程序在运行时会产生什么行为?

Next: 测试 / runtime

回到仓库配置

一次性的在线整理,最终应与代码库保持一致。

01

浏览器

明确选择 TS 或 TSX;只有语法不含歧义时再使用自动模式。

02

编辑器

使用仓库版本的 Prettier 配置和 format-on-save。

03

提交

审阅格式化 diff,确认没有混入手工语义修改。

04

CI

让 prettier --check 与 lint、type-check 各自承担独立门禁。

直接回答

什么是 TypeScript &#x2F; TSX 格式化?

使用 Prettier TypeScript parser 在浏览器本地格式化 .ts 与 .tsx 代码,可选择 TS、TSX 或自动识别。格式化不等于类型检查、lint、转译或执行。

它能做什么?

  • 格式化

如何使用 TypeScript &#x2F; TSX 格式化

  1. 01

    选择任务

    在工作区选择格式化。

  2. 02

    提供输入

    interface User { name: string } const user: User = { name: "Ada" };。内容始终留在浏览器的本地处理流程中。

  3. 03

    检查结果

    运行工具,检查结果和诊断信息;页面提供复制或下载时,可以直接导出。

常见问题

TypeScript / TSX 格式化是什么?
使用 Prettier TypeScript parser 在浏览器本地格式化 .ts 与 .tsx 代码,可选择 TS、TSX 或自动识别。格式化不等于类型检查、lint、转译或执行。
TypeScript / TSX 格式化能做什么?
TypeScript / TSX 格式化支持格式化,所有模式都可以直接在当前页面使用。
TypeScript / TSX 格式化会上传我的数据吗?
TypeScript / TSX 格式化会在浏览器本地处理输入内容。DevSexy 不会增加上传、登录或服务器处理步骤。
DevSexy 在浏览器本地处理工具输入:不追踪粘贴内容,无需账号,也没有上传步骤。