Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nível de Gravidade: Aviso
Descrição
Instruções consecutivas de atribuição são mais legíveis quando alinhadas. As atribuições são consideradas alinhadas quando seus equals sinais se alinham verticalmente.
Essa regra analisa os pares-chave-valor em tabelas hash (incluindo configurações DSC), bem como definições de enum.
Considere o exemplo a seguir com uma hashtable e um enum que não estão alinhados.
$hashtable = @{
property = 'value'
anotherProperty = 'another value'
}
enum Enum {
member = 1
anotherMember = 2
}
O alinhamento, nesse caso, seria o seguinte.
$hashtable = @{
property = 'value'
anotherProperty = 'another value'
}
enum Enum {
member = 1
anotherMember = 2
}
A regra ignora quaisquer atribuições dentro de hashtables e enums que estejam na mesma linha que outras.
Por exemplo, a regra ignora $h = @{a = 1; b = 2}.
Configuração
Rules = @{
PSAlignAssignmentStatement = @{
Enable = $true
CheckHashtable = $true
AlignHashtableKvpWithInterveningComment = $true
CheckEnum = $true
AlignEnumMemberWithInterveningComment = $true
IncludeValuelessEnumMembers = $true
}
}
Parâmetros
Habilitar: bool (o valor padrão é $false)
Habilite ou desabilite a regra durante a invocação de ScriptAnalyzer.
CheckHashtable: bool (Valor padrão é $true)
Impor alinhamento das instruções de atribuição em uma tabela de hash e em uma configuração DSC. Há apenas uma configuração para configuração de tabela hash e DSC porque os pares de valor de propriedade em uma configuração DSC são analisados como pares-chave-valor de uma tabela hash.
AlignHashtableKvpWithInterveningComment: bool (Valor padrão é $true)
Inclua pares-chave-valor no alinhamento que tenham um comentário intermediário – ou seja, um comentário entre o nome da chave e o sinal de igual.
Considere o seguinte:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Com essa configuração desativada, a linha com o comentário é ignorada, e ela ficaria alinhada assim:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Com ele ativado, a linha de comentário é incluída no alinhamento:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
CheckEnum: bool (Valor padrão é $true)
Impor o alinhamento das instruções de atribuição de uma definição de Enum.
AlignEnumMemberWithInterveningComment: bool (Valor padrão é $true)
Inclua membros enum no alinhamento que tenham um comentário intermediário – ou seja, um comentário entre o nome do membro e o sinal de igual.
Considere o seguinte:
enum Enum {
member = 1
anotherMember <#A Comment#> = 2
anotherDifferentMember = 3
}
Com essa configuração desativada, a linha com o comentário é ignorada, e ela ficaria alinhada assim:
enum Enum {
member = 1
anotherMember <#A Comment#> = 2
anotherDifferentMember = 3
}
Com ele ativado, a linha de comentário é incluída no alinhamento:
enum Enum {
member = 1
anotherMember <#A Comment#> = 2
anotherDifferentMember = 3
}
IncludeValuelessEnumMembers: bool (Valor padrão é $true)
Inclua membros enum no alinhamento que não tenham um valor explicitamente atribuído. Os enum não precisam receber um valor quando são definidos.
Considere o seguinte:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Com essa configuração desativada, a terceira linha, que não tem valor, não é considerada ao escolher onde alinhar as atribuições. Ele seria alinhado assim:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Com ele ativado, o membro sem valor é incluído no alinhamento como se tivesse um valor:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}