Skip to content

Commit ed50b9d

Browse files
liamjpetersbergmeisterandyleejordan
authored
Add UseConsistentParameterSetName Rule (#2124)
* Add UseConsistentParameterSetName Rule * Update GetScriptAnalyzerRule.tests.ps1 to fix test about number of rules * Make rule optional, disabled by default * Update tests to reflect need to enable rule * Update docs to refelct that the rule is not enabeld by default * Fix alignment of README markdown table * Update Rules/UseConsistentParameterSetName.cs Co-authored-by: Christoph Bergmeister <c.bergmeister@gmail.com> * Update expected rule count to 73 for new UseConsistentParameterSetName rule --------- Co-authored-by: Christoph Bergmeister <c.bergmeister@gmail.com> Co-authored-by: Andy Jordan <2226434+andyleejordan@users.noreply.github.com>
1 parent f3e9134 commit ed50b9d

File tree

5 files changed

+1015
-0
lines changed

5 files changed

+1015
-0
lines changed

Rules/Strings.resx

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1224,6 +1224,33 @@
12241224
<data name="AvoidUsingAllowUnencryptedAuthenticationName" xml:space="preserve">
12251225
<value>AvoidUsingAllowUnencryptedAuthentication</value>
12261226
</data>
1227+
<data name="UseConsistentParameterSetNameCommonName" xml:space="preserve">
1228+
<value>Use Consistent Parameter Set Name</value>
1229+
</data>
1230+
<data name="UseConsistentParameterSetNameDescription" xml:space="preserve">
1231+
<value>Parameter set names are case-sensitive in PowerShell. This rule checks for case mismatches between DefaultParameterSetName and ParameterSetName values, case mismatches between different ParameterSetName values, and missing DefaultParameterSetName when parameter sets are used.</value>
1232+
</data>
1233+
<data name="UseConsistentParameterSetNameMissingDefaultError" xml:space="preserve">
1234+
<value>Param block uses parameter sets but does not specify a DefaultParameterSetName. Consider adding DefaultParameterSetName to the CmdletBinding attribute.</value>
1235+
</data>
1236+
<data name="UseConsistentParameterSetNameCaseMismatchDefaultError" xml:space="preserve">
1237+
<value>DefaultParameterSetName '{0}' does not match the case of ParameterSetName '{1}'. Parameter set names are case-sensitive.</value>
1238+
</data>
1239+
<data name="UseConsistentParameterSetNameCaseMismatchParameterError" xml:space="preserve">
1240+
<value>ParameterSetName '{0}' does not match the case of '{1}'. Parameter set names are case-sensitive and should use consistent casing.</value>
1241+
</data>
1242+
<data name="UseConsistentParameterSetNameMultipleDeclarationsError" xml:space="preserve">
1243+
<value>Parameter '{0}' is declared in parameter-set '{1}' multiple times.</value>
1244+
</data>
1245+
<data name="UseConsistentParameterSetNameNewLineError" xml:space="preserve">
1246+
<value>Parameter set names should not contain new lines.</value>
1247+
</data>
1248+
<data name="UseConsistentParameterSetNameCaseMismatchSuggestedCorrectionDescription" xml:space="preserve">
1249+
<value>Rename ParameterSet '{0}' to '{1}'.</value>
1250+
</data>
1251+
<data name="UseConsistentParameterSetNameName" xml:space="preserve">
1252+
<value>UseConsistentParameterSetName</value>
1253+
</data>
12271254
<data name="AvoidReservedWordsAsFunctionNamesCommonName" xml:space="preserve">
12281255
<value>Avoid reserved words as function names</value>
12291256
</data>

0 commit comments

Comments
 (0)