Tslint: インデントルールの機能強化

作成日 2015年08月19日  ·  37コメント  ·  ソース: palantir/tslint

ESLintと同様に、

  • [x] [true, "spaces", 2]
  • [x] [true, "spaces", 4]

さらに、ファイルのインデントスタイルを推測し、一貫性を強制しようとする"detect"オプション(#122で提案されている)があると便利です。

  • [] [true, "detect"]
P1 Fixed Enhancement

最も参考になるコメント

@ dimitriy-k#2723がマージされたばかりで、次のリリースに含まれる予定です。

全てのコメント37件

+1

スペースの数を強制するための+1。

+1

これは、インデントが構成されたスペースの数で割り切れる場合にのみ機能しますか?

{
    theObject.something()
             .more(); // 13 spaces.
}

上記の(ピリオドを揃える)方法はサポートされませんか?

@ glen-84次の2つの可能性があります。

  • インデントの行ごとのチェック(例が許可されない場合)
  • インデントのステートメントチェックによるステートメント。 あなたの例では、 theObject.something().more()はすべて1つのステートメントであるため、最初のインデントレベルのみをチェックします。

どちらにも長所と短所があると思いますが、ここではおそらく2番目のものが好まれます。

:+1:

+1
@ JKillian- >すべての行ではなく、ステートメントがチェックされるオプション#2に投票します。

+1オプション2、ステートメントごとのチェック

@JKillianありがとう。 2番目のオプションは良さそうです。 =)

編集:気が変わった

+1オプション1

良い方法はESLINTですhttp://eslint.org/docs/rules/indent

+9000 SSJ3
皆さん、できるだけ早く4スペースのインデントオプションを実装してください。 私はtypescriptでプログラミングをたくさん始めましたが、2スペースのデフォルトのインデントは私にとってとても悪いと感じています。 一部の人にとっては、スペースが2つしかないコードのインデントレベルを確認するのは非常に困難です...

@radarsuあなたは、使用しようとする場合があります.editorconfigを当面。

@radarsu現在、インデントルールは、コードが前のステートメントとどのように整合しているかに基づいて、インデントエラーがあるかどうかを判断します。 4つのスペースインデントを使用して、ルールを満足させることができます(実際、これがTSLintソースコードの機能です)

@JKillianこれが取り組むのがどれほど難しいかについて何か考えはありますか? インデントサイズの適用を開始したいと思います。 それがあまり時間の浪費ではない場合、私はそれをハッキングすることにオープンです(来週にはそれほど多くの時間しかありません)。

それがどれほど難しいかは言うのが難しいです-少なくともハハは簡単ではないと思います。 間違いなくそれのために行きます!

@mcriss @ strike-sbolel +1コメントの追加を停止してください。

同様の取り組みがここで行われているようですhttps://github.com/buzinas/tslint-eslint-rules/issues/74

オプション2では次のようなコードが許可されるため、考え

{
    theObject.something()
             .more() // 13 spaces.
           .wrong()
                    .moreWrong();
}

理想的な世界では、オプション1を使用して、「折り返した」行を前の行の最後のピリオドの下に配置できるようにする(または強制する)ように設定します。

{
    theObject.something()
             .more()  // 13 spaces.
             .right() // Must be the same as above now, because the previous line used this indentation mode.
             .moreRight();
}

または:

{
    theObject.something()
        .more() // (4 x 2) spaces.
        .right()
        .moreRight();
}

アップデートをリリースできますか?

@owaisの機能拡張は、コアTSLintにはまだ実装されていません。 そのリンクは、カスタムルールを使用した外部リポジトリへのリンクです。

おお。 別のリポジトリを見ていることに気づきませんでした。 :)リンクをありがとう。 私はそれを使うかもしれないと思います。

@adidahiyaこれはまだ素晴らしいものですか、PRを開く価値はありますか? または、リンクしたカスタムルールを使用する方がよいでしょうか?

@pudgeballは間違いなくPRを喜んで受け入れます(ラベルで示されているように)

#2723はこの問題を修正しないことに注意してください。 タブ-> xスペースとxスペース->タブを修正しますが、xスペース-> yスペースは修正しません

インデントサイズの更新はまだありませんか?...リクエストは2015年からです

@ dimitriy-k#2723がマージされたばかりで、次のリリースに含まれる予定です。

このルールは何と呼ばれますか? 😄

@dolanmiuそれは新しいルールではありません。 元の問題の説明に記載されているとおりに実装されています。 リンクしたPRをクリックするだけです。

@adidahiya私は5.3.2

そして、以下を使用します。

    "indent": [
      true,
      "spaces",
      4
    ],

2スペース2スペースのファイルがありますが、検出されませんでした。 私は何か間違ったことをしていますか、それともバグがありますか?

@dolanmiuええ、それは新しい問題のように見えますが、#2723が期待どおりに機能しないことにも気づきました。 https://github.com/palantir/tslint/issues/2814を提出しました

更新はありますか?

"indent": [true, "spaces", 4]が機能しない

@ liul85 tslint-eslint-rulesをインストールして、 terIndentRuleを使用して

@leocaseiro共有してくれてありがとう、やってみます。

tslint5.11.0ではまだ機能していません

"indent": [true, "spaces", 4]まだ機能していません...

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