Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nível de Gravidade: Aviso
Descrição
Esta regra deteta operadores de atribuição desalinhados em tabelas de hash e definições enum. As instruções de atribuição consecutivas são mais fáceis de ler e manter quando os seus operadores de atribuição se alinham verticalmente.
Esta regra verifica os pares-chave-valor em tabelas de hash e definições de membros enum para garantir que os = sinais coincidem. Use esta regra para impor uma formatação consistente em tabelas hash multilinha e definições enum.
A regra ignora atribuições dentro de tabelas de hash e enums que aparecem na mesma linha que outras atribuições. Por exemplo, a regra ignora $h = @{ a = 1; b = 2 }.
Exemplo
Não conforme
$hashtable = @{
property = 'value'
anotherProperty = 'another value'
}
enum Enum {
member = 1
anotherMember = 2
}
Compliant
$hashtable = @{
property = 'value'
anotherProperty = 'another value'
}
enum Enum {
member = 1
anotherMember = 2
}
Configuração
Rules = @{
PSAlignAssignmentStatement = @{
Enable = $true
CheckHashtable = $true
AlignHashtableKvpWithInterveningComment = $true
CheckEnum = $true
AlignEnumMemberWithInterveningComment = $true
IncludeValuelessEnumMembers = $true
}
}
Parâmetros
Enable
Este parâmetro controla se o ScriptAnalyzer verifica o código com esta regra. Aceita um valor booleano. Para permitir esta regra, defina este parâmetro para $true. O valor predefinido é $false.
CheckHashtable
Este parâmetro controla se o ScriptAnalyzer verifica o alinhamento de atribuição em hashtables e configurações de Desired State Configuration (DSC). Aceita um valor booleano. Para desativar esta verificação, defina este parâmetro para $false. O valor predefinido é $true.
AlignHashtableKvpWithInterinteringComment
Este parâmetro controla se o ScriptAnalyzer inclui pares-chave-valor hashtable que contêm um comentário intermédio ao determinar o alinhamento. Aceita um valor booleano. Para excluir estas linhas, defina este parâmetro para $false. O valor predefinido é $true.
Considere o seguinte:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Com esta configuração desativada, a linha com o comentário é ignorada. Os sinais iguais estão alinhados para as restantes linhas:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Com esta configuração ativada, os sinais iguais estão alinhados para todas as linhas:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
CheckEnum
Este parâmetro controla se o ScriptAnalyzer verifica o alinhamento de atribuição nas definições dos membros enum. Aceita um valor booleano. Para desativar esta verificação, defina este parâmetro para $false. O valor predefinido é $true.
AlinharMembroEnumComComentário Interveniente
Este parâmetro controla se o ScriptAnalyzer inclui elementos enum que contêm um comentário intermédio ao determinar o alinhamento. Aceita um valor booleano. Para excluir estas linhas, defina este parâmetro para $false. O valor predefinido é $true.
IncluiMembrosInValorSem Valor
Este parâmetro controla se o ScriptAnalyzer inclui membros de enum sem valores explicitamente atribuídos ao determinar o alinhamento. Aceita um valor booleano. Para excluir membros sem valor, defina este parâmetro para $false. O valor predefinido é $true.
Considere o seguinte:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Com esta configuração desativada, a terceira linha, que não tem valor, não é considerada ao escolher onde alinhar as atribuições.
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Com isso ativado, o membro sem valor é incluído no alinhamento como se tivesse um valor:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}