发生这种情况主要是由于 javascript/typescript 文件中的三元运算符。 Neovim 中看起来像这样:
intent={
invoiceNumberError === ""
? Intent.NONE
: existingVoteNumbers.length > 0
? Intent.DANGER
: Intent.NONE
}
在我的 VSCode 中,它看起来像:
intent={
invoiceNumberError === ""
? Intent.NONE
: existingVoteNumbers.length > 0
? Intent.DANGER
: Intent.NONE
}
三元运算符的间距格式不同。我只是不知道该怎么办。我有一个
.prettierrc
:
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": false,
"printWidth": 80
}
这会导致代码库发生更改,并将包含在
git diff
中。我想防止这种情况发生,因为我的团队由 neovim 和 vscode 用户组成,我们不希望这些冗余的代码更改。
事实证明,发生这种情况是因为我的 neovim 的 mason 使用的是最新版本的 prettier,位于
3.2.5
,但 VSCode 的 prettier 使用的是 2.x
版本控制(我从 github 存储库 CHANGELOG 收集的)。这会导致两个版本之间存在一些缩进差异。所以我所做的就是跑
:MasonInstall [email protected] // Note: `2.8.8` is the latest version of `2.x
他们现在同步了。