Js-beautify: switch-caseを使用するときの奇妙なインデント

作成日 2010年08月02日  ·  11コメント  ·  ソース: beautify-web/js-beautify

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の理由は、次のとおりです。 これにより、過剰なインデントが回避されます。」 ORLY?

でもあなたの主張はわかります。 設計によるもので、そのように気に入った場合は、そのままにしておきます。

全てのコメント11件

これは設計によるものであり、Crockfordの規則に従って、 http://javascript.crockford.com/code.htmlであるため、バグではありません。

私見、それは本当に意味がありません。 余分なインデントを省略するCrockfordの理由は、次のとおりです。 これにより、過剰なインデントが回避されます。」 ORLY?

でもあなたの主張はわかります。 設計によるもので、そのように気に入った場合は、そのままにしておきます。

switch (foo) {
    case something:
        break;
}
 ^^^^^^^ huge ugly empty space

...そして実際のコードは突然2つのインデントを押しのけてしまいます。これは通常、スイッチ/ケースをインデントされていない特殊なケースとして扱うよりもはるかに醜いものです。

明らかに、それはすべて見る人の目にあります。

私はCrockfordに同意しません。彼の考えでは、switchステートメントの実際の終了を確認するのは非常に困難です。 彼の推論の線によって、なぜ制御構造をインデントするのですか? それらはすべてインデントペナルティをもたらします。

もしたまたま800x600の解像度で動作するのであれば、これはもっと良いと思います。

switch (v) {
    case 1:
    // code goes here
    break;

    default:
    // code goes here
    break;
}

このためのオプションが欲しいです。 「通常の」方法(switchステートメントが私の人生全体を書いているのを見たように)、または上記で示した方法のいずれか。 デフォルト以外のもの。 個人的に同意しない場合、またはパッチの必要性を認識していない場合は、パッチを受け入れますか?

素晴らしい、どうもありがとうございました。

これに対するオプションはありますか? たぶんそれをjslinthappyに追加するだけですか?

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/

このページは役に立ちましたか?
0 / 5 - 0 評価