如何避免 VsCode Prettier 在新行中破坏链函数。?
Posted
技术标签:
【中文标题】如何避免 VsCode Prettier 在新行中破坏链函数。?【英文标题】:How to avoid VsCode Prettier to break chain functions in new lines.? 【发布时间】: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?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于如何避免 VsCode Prettier 在新行中破坏链函数。?的主要内容,如果未能解决你的问题,请参考以下文章
如何避免 VsCode Prettier 用箭头函数破坏链函数?
如何在使用 prettier 的类中的方法声明前后添加新行?