【问题标题】:Prettier, prefer single line objects as arguments resulting in single line functions更漂亮,更喜欢单行对象作为参数,从而产生单行函数
【发布时间】:2021-07-05 12:34:55
【问题描述】:

Playground link

输入

f({
  er: 1}, {
  a: 2})

实际输出

f(
  {
    er: 1,
  },
  {
    a: 2,
  }
);

预期输出

f({ er: 1 }, { a: 2 })

注意,单行代码不超过行长限制。

是否按预期调整更漂亮的格式?

【问题讨论】:

  • Prettier 不能以单行格式返回,因为它是一种更丑陋的格式。

标签: javascript prettier


【解决方案1】:

我对 Prettier 也有过类似的经历。如果您“暗示” Prettier 您希望您的对象是多行的,Prettier auto 会扩展为更漂亮的多行,如您的示例所示。但是,如果你一开始就写f({er: 1}, { a: 2})(单行),Prettier 似乎也接受了这一点。 AFAIK,这种行为是 in the core logic/rationale of Prettier,我还没有找到规避这种行为的方法。

另请注意,此行为似乎仅适用于对象。因此,如果您将 左括号 和对象内容保持在一行,Prettier 默认为一行。示例:

f(
  { er: 1
  }, 
  { a: 2
  }
)

// Or this
f({  er: 1
  }
  ,
  {  a: 2    
             }
 )

// Both will result in one-line expression
f({ er: 1 }, { a: 2 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 2018-11-25
    • 2019-12-15
    • 2020-05-09
    • 2021-01-29
    相关资源
    最近更新 更多