Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Livello di gravità: Avviso
Descrizione
Questa regola rileva gli operatori di assegnazione disallineati nelle hashtable e nelle definizioni enum. Le istruzioni consecutive di assegnazione sono più facili da leggere e mantenere quando i loro operatori di assegnazione si allineano verticalmente.
Questa regola verifica le coppie chiave-valore nelle hashtable e nelle definizioni dei membri enum per assicurarsi che i = segni siano allineati. Usa questa regola per imporre una formattazione coerente nelle hashtable multilinea e nelle definizioni enum.
La regola ignora assegnazioni all'interno di hashtable ed enum che appaiono sulla stessa linea di altre assegnazioni. Ad esempio, la regola ignora $h = @{ a = 1; b = 2 }.
Example
Non 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
}
Configurazione
Rules = @{
PSAlignAssignmentStatement = @{
Enable = $true
CheckHashtable = $true
AlignHashtableKvpWithInterveningComment = $true
CheckEnum = $true
AlignEnumMemberWithInterveningComment = $true
IncludeValuelessEnumMembers = $true
}
}
Parametri
Enable
Questo parametro controlla se ScriptAnalyzer verifica il codice rispetto a questa regola. Accetta un valore booleano. Per abilitare questa regola, imposta questo parametro a $true. Il valore predefinito è $false.
CheckHashtable
Questo parametro controlla se ScriptAnalyzer controlla l'allineamento dell'assegnazione nelle hashtable e nelle configurazioni Desired State Configuration (DSC). Accetta un valore booleano. Per disabilitare questo controllo, imposta questo parametro su $false. Il valore predefinito è $true.
AlignHashtableKvpWithInterveningComment
Questo parametro controlla se ScriptAnalyzer include coppie chiave-valore hashtable che contengono un commento intermedio quando determina l'allineamento. Accetta un valore booleano. Per escludere queste linee, si imposta questo parametro a $false. Il valore predefinito è $true.
Tenere presente quanto segue:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Con questa impostazione disabilitata, la frase con il commento viene ignorata. I segni uguali sono allineati per le restanti linee:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Con questa impostazione attivata, i segni uguali sono allineati per tutte le linee:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
CheckEnum
Questo parametro controlla se ScriptAnalyzer verifica l'allineamento dell'assegnazione nelle definizioni dei membri enum. Accetta un valore booleano. Per disabilitare questo controllo, imposta questo parametro su $false. Il valore predefinito è $true.
AllineaMembroInOCommentoIntervento
Questo parametro controlla se ScriptAnalyzer include membri enum che contengono un commento intermedio nel determinare l'allineamento. Accetta un valore booleano. Per escludere queste linee, si imposta questo parametro a $false. Il valore predefinito è $true.
Membri IncludeValuelessEnum
Questo parametro controlla se ScriptAnalyzer include membri enum senza valori esplicitamente assegnati al determinare l'allineamento. Accetta un valore booleano. Per escludere membri senza valore, imposta questo parametro a $false. Il valore predefinito è $true.
Tenere presente quanto segue:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Con questa impostazione disabilitata, la terza riga, che non ha valore, non viene presa in considerazione quando si sceglie dove allineare le assegnazioni.
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Con esso abilitato, il membro senza valore viene incluso nell'allineamento come se avesse un valore:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}