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

如何让Prettier对嵌套三元运算符进行层级缩进格式化?

如何让Prettier对嵌套三元运算符进行缩进?

我在用Prettier格式化嵌套三元运算符时,翻遍了Prettier的选项配置也没找到对应的缩进设置。

当前格式化后的效果:

? x 
: y
? a
: b;

我想要实现的格式化效果是:

? x
: y
    ? a 
    : b;

目前有几种方式可以尝试实现这个需求:

  • 调整打印宽度:缩小Prettier的printWidth配置值,让Prettier在处理嵌套三元时自动触发缩进换行。不过这是间接手段,可能会影响其他代码的换行逻辑。
  • 结合ESLint规则:如果项目同时使用ESLint,可以配置indent规则,针对三元运算符的嵌套部分设置缩进层级,再通过ESLint的自动修复功能覆盖Prettier的格式。注意要提前用eslint-config-prettier禁用ESLint和Prettier冲突的规则,避免格式混乱。
  • 手动添加括号:给内层的三元运算符套上括号,强制Prettier识别嵌套结构并缩进:
    ? x
    : (y
        ? a
        : b);
    
  • 使用第三方插件:可以查找专门处理三元运算符缩进的Prettier插件(比如社区维护的prettier-plugin-ternary-indent),这类插件能扩展Prettier的格式化规则,实现自定义的缩进效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:57:08