对象中最后一行后的尾随逗号

Eli*_*uni 31 javascript visual-studio-code prettier

我在 VS Code 中使用 Prettier。我注意到在保存时使用格式时,Prettier 每次都会在对象的最后一行添加尾随逗号。

例如,假设我有一个这样的 JS 对象:

obj = {
 hello: 'hello',
 world: 'world'
}
Run Code Online (Sandbox Code Playgroud)

Prettier 把它变成了这样:

obj = {
 hello: 'hello',
 world: 'world',
}
Run Code Online (Sandbox Code Playgroud)

注意后面的额外逗号 'world'

在设置中没有找到解决此问题的选项。

小智 50

您可以更新.prettierrc.json和设置选项trailingCommanone喜欢:

{
  "trailingComma" : "none",
  ...
}
Run Code Online (Sandbox Code Playgroud)


gsc*_*enk 25

尾随逗号是一种代码样式约定,引入它是为了避免版本控制(即 Git)中的虚假差异。

想象一下,您有版本控制的代码,并且必须对其进行更改。当您向对象添加新行而没有尾随逗号时,您必须通过添加逗号来更改原始的最后一行。在版本控制中,这会显示为两个更改的行。代码审查者或未来的开发人员必须检查您是否有效地更改了最后一行,或者只添加了逗号。

扎克伯格的回答告诉你如何改变它。然而,与其改变prettier的风格,不如改变你的风格。

  • 解决方案:将更改应用到整个代码库,提交,并将提交添加到“.git-blame-ignore-revs”,这样它就不会出现在blame中 - 请参阅https://akrabat.com/ignoring-修订版与 git-blame/ (4认同)

Dav*_*iel 9

尾随逗号已经是一个标准,因为它们会产生更清晰的提交历史。如果您必须在路上添加一个属性,git 将显示更改的单行而不是新行和前一行的新逗号。


And*_*ble 6

尾随逗号是现代 JS,但如果你真的不喜欢它们,可以禁用它们

  • 您可以添加任何来源,任何有关“尾随逗号 - 现代 js ”的文章吗? (11认同)
  • @YevheniiHerasymchuk 这不仅仅是 JS。例如,它也是 PHP。当两个人将项目添加到数组/对象然后想要与 git 合并时,尾随逗号可以避免冲突。使用尾随逗号,您只会得到一个不会产生任何冲突的插入行,而不是修改行+插入行。 (4认同)

Sha*_*der 5

要修改VSCode 中的设置:

  1. 转到文件 -> 首选项 -> 设置。(VS 代码菜单)
  2. 设置窗口应该打开。在 (Top) 上方有一个搜索。输入“更漂亮”
  3. 您应该会看到可用的 Prettier 设置。你可以修改它们

现在trailingComma改为none