Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Niveau de gravité : Avertissement
Description
Cette règle détecte les opérateurs d’affectation désalignés dans les tables de hachage et les définitions enum. Les instructions d’attribution consécutives sont plus faciles à lire et à maintenir lorsque leurs opérateurs d’affectation s’alignent verticalement.
Cette règle vérifie les paires clé-valeur dans les tables de hachage et les définitions des membres enum pour s’assurer que les = signes sont alignés. Utilisez cette règle pour imposer une mise en forme cohérente dans les tables de hachage multilignes et les définitions enum.
La règle ignore les affectations au sein des tables de hachage et enums qui apparaissent sur la même ligne que d’autres attributions. Par exemple, la règle ignore $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
}
Paramétrage
Rules = @{
PSAlignAssignmentStatement = @{
Enable = $true
CheckHashtable = $true
AlignHashtableKvpWithInterveningComment = $true
CheckEnum = $true
AlignEnumMemberWithInterveningComment = $true
IncludeValuelessEnumMembers = $true
}
}
Paramètres
Activer
Ce paramètre détermine si ScriptAnalyzer vérifie le code par rapport à cette règle. Il accepte une valeur booléenne. Pour permettre cette règle, fixez ce paramètre à $true. La valeur par défaut est $false.
CheckHashtable
Ce paramètre contrôle si ScriptAnalyzer vérifie l’alignement d’affectation dans les tables de hachage et les configurations Desired State Configuration (DSC). Il accepte une valeur booléenne. Pour désactiver cette vérification, définissez ce paramètre à $false. La valeur par défaut est $true.
AlignHashtableKvpAvecInterveningComment
Ce paramètre détermine si ScriptAnalyzer inclut des paires clé-valeur hashtable contenant un commentaire intermédiaire lors de la détermination de l’alignement. Il accepte une valeur booléenne. Pour exclure ces droites, on fixe ce paramètre à $false. La valeur par défaut est $true.
Tenez compte des éléments suivants :
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Avec ce réglage désactivé, la ligne avec le commentaire est ignorée. Les signes égals sont alignés pour les lignes restantes :
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
Avec ce réglage activé, les signes égals sont alignés pour toutes les lignes :
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
CheckEnum
Ce paramètre contrôle si ScriptAnalyzer vérifie l’alignement des affectations dans les définitions des membres enum. Il accepte une valeur booléenne. Pour désactiver cette vérification, définissez ce paramètre à $false. La valeur par défaut est $true.
AlignerMembreEnumAvecCommentaireIntermédiaire
Ce paramètre détermine si ScriptAnalyzer inclut des membres d’enum contenant un commentaire intermédiaire lors de la détermination de l’alignement. Il accepte une valeur booléenne. Pour exclure ces droites, on fixe ce paramètre à $false. La valeur par défaut est $true.
InclureValuInÉMembres
Ce paramètre contrôle si ScriptAnalyzer inclut des membres d’enum sans valeurs explicitement attribuées lors de la détermination de l’alignement. Il accepte une valeur booléenne. Pour exclure les membres sans valeur, fixez ce paramètre à $false. La valeur par défaut est $true.
Tenez compte des éléments suivants :
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Avec ce paramètre désactivé, la troisième ligne, qui n’a aucune valeur, n’est pas prise en compte lors du choix de l’alignement des attributions.
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
Avec cette option activée, le membre sans valeur est inclus dans l’alignement comme s’il avait une valeur :
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}