重症度レベル:警告
デフォルト状態:無効化
Description
このルールは、括弧、カッコ、演算子、区切り子、パイプ、パラメータ値の周囲に不整合または冗長な空白を検出します。 このルールを使ってPowerShellコードを読みやすく、一貫したフォーマットに保ちましょう。 このルールはデフォルトで 無効 化されています。
例
非準拠
if($true) {foo| ForEach-Object{ $_ -eq 1}}
@{a = 1;b = 2}
対応
if ($true) { foo | ForEach-Object { $_ -eq 1 } }
@{a = 1; b = 2}
ルールの設定
Rules = @{
PSUseConsistentWhitespace = @{
Enable = $true
CheckInnerBrace = $true
CheckOpenBrace = $true
CheckOpenParen = $true
CheckOperator = $true
CheckPipe = $true
CheckPipeForRedundantWhitespace = $false
CheckSeparator = $true
CheckParameter = $false
IgnoreAssignmentOperatorInsideHashTable = $false
}
}
Parameters
Enable
このパラメータは、ScriptAnalyzerがこのルールに対してコードをチェックするかどうかを制御します。 ブール値も受け入れます。 このルールを有効にするには、このパラメータを $trueに設定します。 既定値は $false です。
チェックインナーブレース
このパラメータは、開くブレースの後にスペースがあるか、閉じブラッシュの前にスペースがあるかを確認します。 例えば、ア if ($true) { foo } は if ($true) {bar}よりも好む。 既定値は $true です。
チェックオープンブレス
このパラメータは、キーワードと対応する開頭括弧の間にスペースがあるかどうかを確認します。
例えば、ア foo { } は foo{ }よりも好む。 開括弧の前に開括弧がある場合はスペースは必要ありません。 既定値は $true です。
CheckOpenParen
このパラメータは、キーワードと対応する開頭括弧の間にスペースがあるかどうかを確認します。 例えば、ア if (true) は if(true)よりも好む。 既定値は $true です。
チェックオペレーター
このパラメータは、二進演算子が空間で囲まれているか一項演算子かを確認します。 例えば、ア $x = 1 は $x=1よりも好む。 既定値は $true です。
チェックセパレーター
このパラメータは、カンマとセミコロンの後にスペースがあるかどうかを確認します。 例えば、このプログラムは @(1, 2, 3) を @(1,2,3) よりも、 @{a = 1; b = 2} を @{a = 1;b = 2}より好みます。 既定値は $true です。
チェックパイプ
このパラメータは、パイプの両側に1つのスペースが囲まれているかどうかをチェックし、冗長な空白を無視します。 例えば、ア foo | bar は foo|barよりも好む。 既定値は $true です。
CheckPipeForRedundantWhitespace
このパラメータは、パイプが冗長な空白、つまり複数のスペースに囲まれているかどうかを確認します。 例えば、ア foo | bar は foo | barよりも好む。 既定値は $false です。
チェックパラメータ
このパラメータはパラメータと値の間に複数のスペースがあるかどうかをチェックします。 例えば、foo -bar $baz -batよりも foo -bar $baz -bat を優先し、意図せずに追加されたであろう冗長な余白を除去するのに役立ちます。 このルールでは、コロン構文 -ParameterName:$ParameterValue が使われる場合、パラメータと値の間の空白はチェックしません。なぜなら、一部のユーザーはその場合に0か1のスペースを好むからです。 既定値は $false です。
IgnoreAssignmentOperatorInsideHashTableを無視する
CheckOperatorを有効にすると、このパラメータは多行ハッシュテーブル内の割り当て演算子周辺の空白を無視します。 ハッシュテーブルで割り当てを整列しつつ、他の部分は演算子の空白を確認したいときは AlignAssignmentStatement ルールと一緒に使うと良いです。 既定値は $false です。