如何避免 VsCode Prettier 在新行中破坏链函数。?
How to avoid VsCode Prettier to break chain functions in new lines.?
我正在使用 VSCode、Prettier 和 TSLint。
当我确实有超过 2 个调用的链式函数调用时
let m = moment().startOf("day").subtract(30, "days");
Prettier 闯入
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?
[编辑] 在 Prettier v2.0.4 中,此问题已修复。更新到最新版本
这是一个issue in prettier。据我所知,添加此功能的 PR 尚未合并。
目前为了得到你想要的,我可以建议的是使用 // prettier-ignore
注释忽略抽象语法树中的下一个节点进行格式化。
// prettier-ignore
let m = moment().startOf("day").subtract(30, "days");
这些忽略语句有多种变体,比如可以在 ranger 中忽略,甚至可以忽略特定文件。请查看 official prettier documentations 以了解更多它的实现。
请注意,在 Prettier v2.0.4 中,此问题已得到修复。现在,只要你的代码行在你的配置中指定的长度或默认的 80 以内,它就会留在一行中。否则会换行。
我必须升级我的 prettier 才能使这些更改生效。
$ yarn upgrade -g prettier --latest
我正在使用 VSCode、Prettier 和 TSLint。
当我确实有超过 2 个调用的链式函数调用时
let m = moment().startOf("day").subtract(30, "days");
Prettier 闯入
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?
[编辑] 在 Prettier v2.0.4 中,此问题已修复。更新到最新版本
这是一个issue in prettier。据我所知,添加此功能的 PR 尚未合并。
目前为了得到你想要的,我可以建议的是使用 // prettier-ignore
注释忽略抽象语法树中的下一个节点进行格式化。
// prettier-ignore
let m = moment().startOf("day").subtract(30, "days");
这些忽略语句有多种变体,比如可以在 ranger 中忽略,甚至可以忽略特定文件。请查看 official prettier documentations 以了解更多它的实现。
请注意,在 Prettier v2.0.4 中,此问题已得到修复。现在,只要你的代码行在你的配置中指定的长度或默认的 80 以内,它就会留在一行中。否则会换行。
我必须升级我的 prettier 才能使这些更改生效。
$ yarn upgrade -g prettier --latest