【发布时间】:2015-12-30 07:05:05
【问题描述】:
假设我输入以下代码并对其进行格式化。
if (condition) { /* Hello! */ }
如果这是 C# 代码,格式如下:
if (condition)
{
// Hello!
}
如果是 JavaScript,VSCode 的格式是这样的:
if (condition) {
// Hello!
}
那么我怎样才能为所有语言使用第一种格式样式(新行上的花括号)?我找不到设置或类似的东西。有什么建议吗?
【问题讨论】:
-
下一行的大括号在Javascript中有副作用,它应该在同一行,根据我的说法,格式化代码的设置应该是原样
-
@Tushar 真的吗?我以为只是格式化。可以参考一些文章或者举个简单的例子吗?
-
这是因为分号在 JS 中不是强制性的,所以如果你把花括号放在下一行,解释器将如何知道你是否忘记了分号,或者你是否仍然在一些模棱两可的语句中案例? source.
-
@M.Fatih Javascript 的自动分号插入可能会在您将
{放在下一行时导致问题。著名的例子是return {a: 'b'};,这里{在return的下一行。当添加分号时,相同的语句被视为return;和下一行{..这会导致在您期望对象时返回undefined,阅读更多stackoverflow.com/questions/2846283/… 和jamesallardice.com/… -
格式化配置个人喜好,有的喜欢把左大括号放在新的一行,有的喜欢放在同一行。说“在 Javascript 中将大括号放在同一行有副作用”之类的说法是不正确的。唯一必须将左大括号放在同一行的地方是在“return { ...”语句中。在所有其他情况下,它都很好。在编码标准中,你可以选择你的风格,只要是一致的,如果你选择把你的左括号放在一个新的行上,在你的整个项目中都是一致的。
标签: javascript formatting code-formatting visual-studio-code