switch (v) { case 1: break; case 2: break; case 3: break; default: break; }
……变成……
switch (v) {
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
也许这是故意的,但我希望case
缩进 1 级(基于设置)。
这是设计使然,根据 Crockford 约定http://javascript.crockford.com/code.html ,所以 - 不是错误。
恕我直言,这真的没有意义。 Crockford 省略额外缩进的理由如下:“每个 case 都与 switch 对齐。 这避免了过度缩进。” 奥利?
不过我明白你的意思。 如果它是设计使然,并且您喜欢这种方式,那就让它保持原样吧!
switch (foo) {
case something:
break;
}
^^^^^^^ huge ugly empty space
...并且真正的代码突然被推开 2 个缩进,这通常比将 switch/case 视为未缩进的特殊情况要丑陋得多。
显然,这一切都在旁观者的眼中。
我不同意 Crockford 的观点,他认为要确定 switch 语句的实际结尾非常困难。 按照他的推理,为什么要缩进任何控制结构? 它们都产生缩进惩罚。
我认为这会更好,如果恰好在 800x600 分辨率下工作:
switch (v) {
case 1:
// code goes here
break;
default:
// code goes here
break;
}
希望有一个选择; 要么是“正常”的方式(就像我一生都看过 switch 语句),要么是我上面演示的方式; 除了默认值之外的任何内容。 如果您个人不同意或不认为需要补丁,您是否愿意接受补丁?
太棒了,非常感谢。
我们可以为此选择吗? 也许只是将它添加到 jslint 快乐?
讨厌在 switch 语句中添加草率的空格。
@drewhjava随意打开一个错误引用这个请求这个选项
这个问题好像没有解决?
我仍然得到丑陋的开关美化。 这不是固定的吗?
例如
switch (v) {
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
嗯。 我在 jsbeautifier.org 中添加了一个“jslint-happy”复选框。
完美,谢谢:)
这个缩进问题与 Windows 和 OSX 上的相同代码不同。 例如https://github.com/gpujs/gpu.js ,当我运行yarn make
时,它会使用以下脚本美化./src
文件夹: https ://github.com/
最有用的评论
恕我直言,这真的没有意义。 Crockford 省略额外缩进的理由如下:“每个 case 都与 switch 对齐。 这避免了过度缩进。” 奥利?
不过我明白你的意思。 如果它是设计使然,并且您喜欢这种方式,那就让它保持原样吧!