AvoidTrailingWhitespace

重大度レベル: 情報

デフォルト状態:常に有効

Description

このルールは、後ろに空白文字で終わる行を検出します。 行の末尾に空白文字がついて終わるべきではありません。 後尾に空白が入ると差分の確認が難しくなり、行の継続でバックティック(')を使うと微妙な問題が生じます。なぜならバックティックは行の最後の文字でなければならないからです。

行に余白がついてこないままにすることで可読性が向上し、ソース管理履歴をきれいに保つことができます。

詳しくは about_Parsingをご覧ください。

例

非準拠

# The next line ends with a trailing space after the backtick.
Get-Process `
| Where-Object { $_.CPU -gt 100 }

このスクリプトを実行すると、後続スペースが行の継続を妨げるため、PowerShellはパーサーエラーを出します。 例えば次が挙げられます。

PS C:\WINDOWS\system32> Get-Process `
| Where-Object { $_.CPU -gt 100 }
At line:2 char:1
+ | Where-Object { $_.CPU -gt 100 }
+ ~
An empty pipe element is not allowed.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : EmptyPipeElement

対応

Get-Process `
| Where-Object { $_.CPU -gt 100 }

ルールの設定

このルールは常に有効で、設定はできません。 このルールを避けるために、以下のいずれかの方法を用いてください。

  • 欲しいルールだけを含めるか、不要なルールを除外するカスタムルール設定ファイルを作成しましょう。
  • 特定のコードブロックに対してルール抑制を抑制するために、適切なルール抑制属性をコードに追加してください。 詳細については、PSScriptAnalyzerの使用に関する「抑制ルール」セクションをご覧ください。