【问题标题】:Prettier putting if statement on one line将 if 语句放在一行更漂亮
【发布时间】:2019-06-16 23:41:01
【问题描述】:

没有花括号的 if 语句格式更漂亮。

这意味着:

function getErrorMessage(response) {
    let errorMessage = null;

    if (!response.originalError.response) 
        errorMessage = 'network error';
    else 
        errorMessage = response.originalError.response.data.errorMessage;

    return errorMessage;
}

变成这样:

function getErrorMessage(response) {
    let errorMessage = null;

    if (!response.originalError.response) errorMessage = 'network error';
    else errorMessage = response.originalError.response.data.errorMessage;

    return errorMessage;
}

更不可读。

有没有办法禁用它?

【问题讨论】:

  • 不是您的问题的答案(我赞成),但是通过完全消除您的 errorMessage 变量,您的函数可以变得更简单、更具可读性(并且效率更高)。 gist.github.com/flimzy/78be389b85d37ba7536daf5e858b8ca7
  • 是的,我同意,只是想用我的代码作为说明
  • 可能不是您想听到的,但是添加花括号怎么样? IMO 他们应该在那里。
  • 是的,我添加了花括号。那解决了它。但我不明白为什么 prettier 会做出如此丑陋的格式
  • @OliverWatkins 可能是被动攻击性的“我的方式或高速公路”的案例,以强制使用多余的paratheses 的风格与(这是我的邪恶假设)嘲笑替代方案相结合。这就像说你不必在单语句上使用花括号,然后添加一个“证明”它是错误的,但这就是你会得到的丑陋 .这是一个很棒的包,所以很遗憾他们如此不灵活。详情见答案。

标签: prettier


【解决方案1】:

正如在类似的question 中询问的那样,事实证明answer 是您不能也不会能够。

至于一般意义上的 WFT,嗯...显然,自以为是并不意味着 在许多人看来受到尊重和深思熟虑。这意味着它正在执行作者的意见

因此,令人惊讶的是,出乎意料的不是缺乏可配置性,而是根本没有任何选项可供设置!去看看...有人应该创建一个名为 EvenPrettierFexiblyPrettier 的新包,并提供更多选项。如果我知道怎么做,我就会去做。

【讨论】:

    【解决方案2】:

    我终于用 Beautify - HookyQR 扩展了 vscode https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify

    示例设置

    文件:.jsbeautifyrc

    {
        "brace_style": "collapse,preserve-inline",
        "max_preserve_newlines": 2,
        "end_with_newline": false
    }
    

    示例代码

    文件:a.js

    function dfs(start) {
    
        if (start > n)
            return;
    
        ans.push(start);
    
        for (let i = 0; i <= 9; i++)
            dfs(start * 10 + i);
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-11
      • 2019-07-05
      • 1970-01-01
      • 2017-04-23
      • 2020-11-21
      • 2010-12-31
      • 2019-12-15
      • 1970-01-01
      相关资源
      最近更新 更多