如何避免VsCode Prettier中断换行功能?

时间:2019-01-20 00:41:33

标签: visual-studio-code tslint prettier

我正在使用VSCode,Prettier和TSLint。

当我确实有链接函数调用时,有两个以上的调用,例如

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?

3 个答案:

答案 0 :(得分:4)

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

为了使这些更改生效,我不得不升级自己的漂亮。

$ yarn upgrade -g prettier --latest

答案 1 :(得分:2)

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

当前要获得所需的内容,我可以建议的是忽略使用// prettier-ignore注释进行格式化的抽象语法树中的下一个节点。

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

这些ignore语句有多种形式,例如一个人可以在一个护林员中忽略,或者甚至可以忽略一个特定的文件。请检查official prettier documentations来了解其更多实现。

答案 2 :(得分:-1)

只需在“更漂亮”设置中更改打印宽度 d

更漂亮:打印宽度 使代码在此行数限制内 150