You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Prettier使TypeScript函数参数对象类型分行显示?

问题:Prettier能否实现特定的TypeScript函数参数类型格式化?

我有如下格式的TypeScript函数代码:

export const loginService = async ({ email, password }: { email: string; password: string }) => {}

希望将其格式化为如下形式:

export const loginService = async ({ email, password }: { 
   email: string;
   password: string 
}): Promise<ApiResponse> => {}

要求保持输入对象在一行,而其类型定义像接口那样拆分为多行,请问能否通过Prettier配置实现?


回答

可以通过Prettier配置实现这种格式化效果,核心是利用Prettier对TypeScript内联类型字面量的换行规则,配合以下配置调整:

  • 调整printWidth参数:
    将printWidth设置为合适的数值(比如默认的80),当内联类型字面量的总长度(包含前面的代码部分)超过这个阈值时,Prettier会自动把类型的属性拆分为多行,而参数对象{ email, password }因长度较短会保持在一行。

  • 保留默认的括号空格配置:
    确保bracketSpacing: true(默认开启),这样类型字面量的括号内会保留空格,和示例中的格式一致。

需要注意:示例里的返回类型Promise<ApiResponse>需要手动添加,Prettier仅负责代码排版格式化,不会自动补全类型定义。


内容的提问来源于stack exchange,提问作者ishiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:35:09