UseConsistentIndentation

重症度レベル:警告

デフォルト状態:無効化

Description

このルールは、ソースファイル内の一貫性のないインデントパターンを検出します。 インデントはスクリプト全体を通して一貫しているべきです。

例

非準拠

function Get-ItemName {
    param(
      [string]$Path
    )

    if ($Path) {
      Get-Item $Path |
      Select-Object -ExpandProperty Name
    }
}

対応

function Get-ItemName {
    param(
        [string]$Path
    )

    if ($Path) {
        Get-Item $Path |
            Select-Object -ExpandProperty Name
    }
}

ルールの設定

    Rules = @{
        PSUseConsistentIndentation = @{
            Enable = $true
            IndentationSize = 4
            PipelineIndentation = 'IncreaseIndentationForFirstPipeline'
            Kind = 'space'
        }
    }

Parameters

Enable

このパラメータは、ScriptAnalyzerがこのルールに対してコードをチェックするかどうかを制御します。 ブール値も受け入れます。 このルールを有効にするには、このパラメータを $trueに設定します。 既定値は $false です。

インデンテーションサイズ

このパラメータは Kind が spaceに設定されたときのインデントサイズを制御します。 整数値を受け入れます。 インデントレベルごとに4つのスペースを使うには、このパラメータを 4に設定します。 既定値は 4 です。

パイプラインインデンテーション

このパラメータは多行文のパイプラインインデントを制御します。 文字列の値を受け入れます。 既定値は IncreaseIndentationForFirstPipeline です。

使用可能な値は次のとおりです。

  • IncreaseIndentationForFirstPipeline最初のパイプラインの後に一度インデントし、このインデントを保持してください。 例:

    foo |
        bar |
        baz
    
  • IncreaseIndentationAfterEveryPipeline:最初のパイプラインの後にさらにインデントし、このインデントはそのままにしてください。 例:

    foo |
        bar |
            baz
    
  • NoIndentation:へこみを増やさないでください。 例:

    foo |
    bar |
    baz
    
  • None既存のパイプラインの凹みは変更しないでください。

サブタイプ

このパラメータは、ScriptAnalyzerがどのインデント文字を期待するかを制御します。 文字列の値を受け入れます。 インデントにスペースを使うには、このパラメータを spaceに設定します。 既定値は space です。

Kindがspaceに設定されている場合、ScriptAnalyzerは各インデントレベルごとにIndentationSizeの値を使用します。 Kindがtabに設定されている場合、ScriptAnalyzerはインデントレベルごとにタブ文字(\t)を使用します。 無効な値を入力すると、ScriptAnalyzerは spaceを使用します。