AlignAssignmentStatement

Schweregrad: Warnung

Beschreibung

Diese Regel erkennt falsch ausgerichtete Zuweisungsoperatoren in Hashtabellen und Enum-Definitionen. Aufeinanderfolgende Zuweisungsanweisungen sind leichter zu lesen und zu pflegen, wenn ihre Zuweisungsoperatoren vertikal ausgerichtet sind.

Diese Regel prüft Schlüssel-Wert-Paare in Hashtabellen und Enum-Mitgliederdefinitionen, um sicherzustellen, dass die = Vorzeichen übereinstimmen. Verwenden Sie diese Regel, um konsistente Formatierung in mehrzeiligen Hashtabellen und Enum-Definitionen zu erzwingen.

Die Regel ignoriert Zuweisungen innerhalb von Hashtabellen und Enums, die auf derselben Zeile wie andere Zuweisungen erscheinen. Zum Beispiel ignoriert $h = @{ a = 1; b = 2 }die Regel .

Example

Nicht konform

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

enum Enum {
    member = 1
    anotherMember = 2
}

Konform

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

enum Enum {
    member        = 1
    anotherMember = 2
}

Konfiguration

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

Parameter

Aktivieren

Dieser Parameter steuert, ob ScriptAnalyzer den Code anhand dieser Regel prüft. Es akzeptiert einen boolschen Wert. Um diese Regel zu aktivieren, setze diesen Parameter auf $true. Der Standardwert ist $false.

CheckHashtable

Dieser Parameter steuert, ob ScriptAnalyzer die Zuweisungsausrichtung in Hashtabellen und Desired State Configuration (DSC)-Konfigurationen überprüft. Es akzeptiert einen boolschen Wert. Um diese Prüfung zu deaktivieren, setzen Sie diesen Parameter auf $false. Der Standardwert ist $true.

AlignHashTableKvpWithInterveningComment

Dieser Parameter steuert, ob ScriptAnalyzer bei der Bestimmung der Ausrichtung Hashtable-Schlüssel-Wert-Paare mit einem dazwischenliegenden Kommentar einschließt. Es akzeptiert einen boolschen Wert. Um diese Geraden auszuschließen, setzen wir diesen Parameter auf $false. Der Standardwert ist $true.

Beachte Folgendes:

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

Mit dieser Einstellung deaktiviert wird die Zeile mit dem Kommentar ignoriert. Die Gleichheitszeichen sind für die verbleibenden Linien ausgerichtet:

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

Mit aktivierter Einstellung sind die Gleichheitszeichen für alle Geraden ausgerichtet:

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

CheckEnum

Dieser Parameter steuert, ob ScriptAnalyzer die Zuweisungsausrichtung in Enum-Mitgliederdefinitionen prüft. Es akzeptiert einen boolschen Wert. Um diese Prüfung zu deaktivieren, setzen Sie diesen Parameter auf $false. Der Standardwert ist $true.

AlignEnumMitZwischenkommentator

Dieser Parameter steuert, ob ScriptAnalyzer Enum-Mitglieder einschließt, die einen zwischenliegenden Kommentar enthalten, wenn die Ausrichtung bestimmt wird. Es akzeptiert einen boolschen Wert. Um diese Geraden auszuschließen, setzen wir diesen Parameter auf $false. Der Standardwert ist $true.

IncludeValuelessEnumMitglieder

Dieser Parameter steuert, ob ScriptAnalyzer Enum-Mitglieder ohne explizit zugewiesene Werte bei der Ausrichtung einschließt. Es akzeptiert einen boolschen Wert. Um wertlose Mitglieder auszuschließen, setzen wir diesen Parameter auf $false. Der Standardwert ist $true.

Beachte Folgendes:

enum Enum {
    member = 1
    anotherMember = 2
    anotherDifferentMember
}

Mit deaktivierter Einstellung wird die dritte Zeile, die keinen Wert hat, bei der Auswahl der Zuweisungen nicht berücksichtigt.

enum Enum {
    member        = 1
    anotherMember = 2
    anotherDifferentMember
}

Mit aktivierter Funktion wird das wertlose Mitglied in die Ausrichtung einbezogen, als hätte es einen Wert:

enum Enum {
    member                 = 1
    anotherMember          = 2
    anotherDifferentMember
}