AlignAssignmentStatement

严重程度等级:警告

说明

该规则检测哈希表和枚举定义中赋值算子错位的情况。 当连续的赋值运算符垂直排列时,它们更易阅读和维护。

该规则检查哈希表中的键值对和枚举成员定义,以确保 = 符号对应。 使用此规则强制多行哈希表和枚举定义的格式一致。

该规则忽略了哈希表和枚举中与其他赋值同列的赋值。 例如,该规则忽略 $h = @{ a = 1; b = 2 }了。

示例

非符合性

$hashtable = @{
    property = 'value'
    anotherProperty = 'another value'
}

enum Enum {
    member = 1
    anotherMember = 2
}

合规的

$hashtable = @{
    property        = 'value'
    anotherProperty = 'another value'
}

enum Enum {
    member        = 1
    anotherMember = 2
}

配置

Rules = @{
    PSAlignAssignmentStatement = @{
        Enable                                  = $true
        CheckHashtable                          = $true
        AlignHashtableKvpWithInterveningComment = $true
        CheckEnum                               = $true
        AlignEnumMemberWithInterveningComment   = $true
        IncludeValuelessEnumMembers             = $true
    }
}

参数

启用

该参数控制 ScriptAnalyzer 是否会根据该规则检查代码。 它接受一个布尔值。 要启用该规则,将该参数设为 $true。 默认值为 $false

校验哈希表

该参数控制 ScriptAnalyzer 是否检查哈希表和 Desired State Configuration(DSC)配置中的赋值对齐。 它接受一个布尔值。 要禁用此检查,将该参数 $false设置为 。 默认值为 $true

AlignHashtableKvpWithInterveningComment

该参数控制 ScriptAnalyzer 是否包含包含中间注释的哈希表键值对,以决定对齐。 它接受一个布尔值。 要排除这些线,将参数设为 $false。 默认值为 $true

考虑以下情况:

$hashtable = @{
    property = 'value'
    anotherProperty <#A Comment#> = 'another value'
    anotherDifferentProperty = 'yet another value'
}

禁用此设置后,带有评论的那一行会被忽略。 剩余线的等号对齐:

$hashtable = @{
    property                 = 'value'
    anotherProperty <#A Comment#> = 'another value'
    anotherDifferentProperty = 'yet another value'
}

启用此设置后,所有线的等号对齐:

$hashtable = @{
    property                      = 'value'
    anotherProperty <#A Comment#> = 'another value'
    anotherDifferentProperty      = 'yet another value'
}

CheckEnum

该参数控制 ScriptAnalyzer 是否检查枚举成员定义中的赋值对齐。 它接受一个布尔值。 要禁用此检查,将该参数 $false设置为 。 默认值为 $true

AlignEnum成员与介入评论

该参数控制 ScriptAnalyzer 是否包含包含中间注释的枚举成员,以决定对齐。 它接受一个布尔值。 要排除这些线,将参数设为 $false。 默认值为 $true

IncludeValuelessEnumMembers

该参数控制 ScriptAnalyzer 在确定对齐时是否包含枚举成员但未明确分配值。 它接受一个布尔值。 要排除无值成员,将该参数设为 $false。 默认值为 $true

考虑以下情况:

enum Enum {
    member = 1
    anotherMember = 2
    anotherDifferentMember
}

禁用该设置后,第三行(无值)在选择对齐赋值时不会被考虑。

enum Enum {
    member        = 1
    anotherMember = 2
    anotherDifferentMember
}

启用后,无值成员会被包含在对齐中,就像它有以下值一样:

enum Enum {
    member                 = 1
    anotherMember          = 2
    anotherDifferentMember
}