【问题标题】:How to avoid VsCode Prettier to break chain functions in new lines.?如何避免 VsCode Prettier 在新行中破坏链函数。?
【发布时间】:2019-06-13 19:39:09
【问题描述】:

我正在使用 VSCode、Prettier 和 TSLint。

当我确实有超过 2 个调用的链接函数调用时,例如

let m = moment().startOf("day").subtract(30, "days");

更漂亮的闯入

let m = moment()
    .startOf("day")
    .subtract(30, "days")

我已经设置了 TSLint 规则

{
  "defaultSeverity": "warning",
  "extends": ["tslint:recommended"],
  "linterOptions": {
    "exclude": ["node_modules/**"]
  },
  "rules": {
    // ...
    "newline-per-chained-call": false
  }
}

和休闲设置

"prettier.tslintIntegration": true

但是链接的函数仍然会出现新的问题。

如何避免换行但仍在使用 TSLint?

【问题讨论】:

    标签: visual-studio-code tslint prettier


    【解决方案1】:

    [编辑] 在 Prettier v2.0.4 中,此问题已修复。更新到最新版本

    这是issue in prettier。据我了解,添加此功能的 PR 尚未合并。

    目前为了得到你想要的,我可以建议使用// prettier-ignore cmets 来忽略抽象语法树中的下一个节点。

    // prettier-ignore  
    let m = moment().startOf("day").subtract(30, "days");   
    

    这些忽略语句有多种变体,例如可以在游侠中忽略,甚至也可以忽略特定文件。请查看official prettier documentations 以了解更多它的实现。

    【讨论】:

      【解决方案2】:

      请注意,在 Prettier v2.0.4 中,此问题已得到修复。现在,只要您的代码行在配置中指定的长度或默认的 80 以内,它将保留在一行中。否则,它将被换成多行。

      我必须升级我的 prettier 才能使这些更改生效。

      $ yarn upgrade -g prettier --latest
      

      【讨论】:

        猜你喜欢
        • 2020-09-21
        • 2016-03-25
        • 2015-04-02
        • 2020-02-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-19
        • 1970-01-01
        相关资源
        最近更新 更多