Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Уровень тяжести: Предупреждение
Описание
Последовательные операторы присвоения более читаемы, когда они выровнены. Назначения считаются выровненными, если их equals знаки совпадают вертикально.
Это правило рассматривает пары ключ-значение в хэш-таблицах (включая конфигурации DSC), а также определения enum.
Рассмотрим следующий пример с хэшированной таблицей и enum, которые не выравниваются.
$hashtable = @{
property = 'value'
anotherProperty = 'another value'
}
enum Enum {
member = 1
anotherMember = 2
}
В этом случае выравнивание будет выглядеть следующим образом.
$hashtable = @{
property = 'value'
anotherProperty = 'another value'
}
enum Enum {
member = 1
anotherMember = 2
}
Правило игнорирует любые назначения в хэш-таблицах и enum, которые находятся на той же строке, что и другие.
Например, правило игнорирует $h = @{a = 1; b = 2}.
Конфигурация
Rules = @{
PSAlignAssignmentStatement = @{
Enable = $true
CheckHashtable = $true
AlignHashtableKvpWithInterveningComment = $true
CheckEnum = $true
AlignEnumMemberWithInterveningComment = $true
IncludeValuelessEnumMembers = $true
}
}
Параметры
Включение: логическое значение (значение по умолчанию — $false)
Включите или отключите правило во время вызова ScriptAnalyzer.
CheckHashtable: bool (Значение по умолчанию )$true
Обеспечивать выравнивание операторов присвоения в хэш-таблице и в конфигурации DSC. Существует только одна настройка для конфигурации хэш-таблицы и DSC, поскольку пары значений свойств в конфигурации DSC парируются как пары ключ-значение в хэш-таблице.
AlignHashtableKvpWithInterveningComment: bool (Значение по умолчанию )$true
Включите в выравнивание пары ключ-значение, которые имеют промежуточный комментарий — то есть комментарий между именем ключа и знаком равенства.
Рассмотрим следующее:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
При отключённой этой настройке строка с комментарием игнорируется, и она будет выровнена следующим образом:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
При включении строка комментариев включена в выравнивание:
$hashtable = @{
property = 'value'
anotherProperty <#A Comment#> = 'another value'
anotherDifferentProperty = 'yet another value'
}
CheckEnum: bool (Значение по умолчанию )$true
Обеспечение согласования утверждений о присвоении определения Enum.
AlignEnumMemberWithInterveningComment: bool (Значение по умолчанию )$true
Включите членов enum в выравнивание, у которых есть промежуточный комментарий — то есть комментарий между именем участника и знаком равных.
Рассмотрим следующее:
enum Enum {
member = 1
anotherMember <#A Comment#> = 2
anotherDifferentMember = 3
}
При отключённой этой настройке строка с комментарием игнорируется, и она будет выровнена следующим образом:
enum Enum {
member = 1
anotherMember <#A Comment#> = 2
anotherDifferentMember = 3
}
При включении строка комментариев включена в выравнивание:
enum Enum {
member = 1
anotherMember <#A Comment#> = 2
anotherDifferentMember = 3
}
IncludeValuelessEnumMembers: bool (Значение по умолчанию )$true
Включите в выравнивание членов enum, которые не имеют явно присвоенного значения. Enum не обязательно иметь значение при их определении.
Рассмотрим следующее:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
При отключении этой настройки третья строка, которая не имеет значения, не учитывается при выборе места выравнивания назначения. Он будет выровнен следующим образом:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}
При включении элемент без значения включается в выравнивание так, как если бы у него было значение:
enum Enum {
member = 1
anotherMember = 2
anotherDifferentMember
}