New-ConfigurationFormat
Builds formatting options for code and manifest generation during the build.
Syntax
New-ConfigurationFormat [-AlignAssignmentStatementCheckHashtable] [-AlignAssignmentStatementEnable] -ApplyTo <OnMergePSM1|OnMergePSD1|DefaultPS1|DefaultPSM1|DefaultPSD1> [-EnableFormatting] [-PlaceCloseBraceEnable] [-PlaceCloseBraceIgnoreOneLineBlock] [-PlaceCloseBraceNewLineAfter] [-PlaceCloseBraceNoEmptyLineBefore] [-PlaceOpenBraceEnable] [-PlaceOpenBraceIgnoreOneLineBlock] [-PlaceOpenBraceNewLineAfter] [-PlaceOpenBraceOnSameLine] [-PSD1Style <Minimal|Native>] [-RemoveAllEmptyLines] [-RemoveComments] [-RemoveCommentsBeforeParamBlock] [-RemoveCommentsInParamBlock] [-RemoveEmptyLines] [-Sort <Asc|Desc>] [-UpdateProjectRoot] [-UseConsistentIndentationEnable] [-UseConsistentIndentationIndentationSize <Int32>] [-UseConsistentIndentationKind <space|tab>] [-UseConsistentIndentationPipelineIndentation <IncreaseIndentationAfterEveryPipeline|NoIndentation>] [-UseConsistentWhitespaceCheckInnerBrace] [-UseConsistentWhitespaceCheckOpenBrace] [-UseConsistentWhitespaceCheckOpenParen] [-UseConsistentWhitespaceCheckOperator] [-UseConsistentWhitespaceCheckPipe] [-UseConsistentWhitespaceCheckSeparator] [-UseConsistentWhitespaceEnable] [-UseCorrectCasingEnable] [<CommonParameters>]#All Parameter SetsDescription
Produces a formatting configuration segment used by the build pipeline to normalize generated output (merged PSM1/PSD1) and optionally apply formatting back to the project root.
Examples
Remove comments and normalize whitespace during merge
New-ConfigurationFormat -ApplyTo OnMergePSM1,OnMergePSD1 -RemoveComments -RemoveEmptyLinesFormats the merged module output and removes comments while keeping readability.
Also update files in the project root
New-ConfigurationFormat -ApplyTo DefaultPSM1,DefaultPSD1 -EnableFormatting -UpdateProjectRootApplies formatting rules to the project sources as well as generated output.
Parameters
- -AlignAssignmentStatementCheckHashtable SwitchParameter
- For PSAlignAssignmentStatement: align hashtable assignments.
- -AlignAssignmentStatementEnable SwitchParameter
- Enable PSAlignAssignmentStatement rule and optionally check hashtable alignment.
- -ApplyTo String[]
- Targets to apply formatting to (OnMergePSM1, OnMergePSD1, DefaultPS1, DefaultPSM1, DefaultPSD1).
- Possible values:
OnMergePSM1,OnMergePSD1,DefaultPS1,DefaultPSM1,DefaultPSD1 - -EnableFormatting SwitchParameter
- Enables formatting for the chosen ApplyTo targets even if no specific rule switches are provided.
- -PlaceCloseBraceEnable SwitchParameter
- Enable PSPlaceCloseBrace rule and configure its behavior.
- -PlaceCloseBraceIgnoreOneLineBlock SwitchParameter
- For PSPlaceCloseBrace: ignore single-line blocks.
- -PlaceCloseBraceNewLineAfter SwitchParameter
- For PSPlaceCloseBrace: enforce a new line after the closing brace.
- -PlaceCloseBraceNoEmptyLineBefore SwitchParameter
- For PSPlaceCloseBrace: do not allow an empty line before a closing brace.
- -PlaceOpenBraceEnable SwitchParameter
- Enable PSPlaceOpenBrace rule and configure its behavior.
- -PlaceOpenBraceIgnoreOneLineBlock SwitchParameter
- For PSPlaceOpenBrace: ignore single-line blocks.
- -PlaceOpenBraceNewLineAfter SwitchParameter
- For PSPlaceOpenBrace: enforce a new line after the opening brace.
- -PlaceOpenBraceOnSameLine SwitchParameter
- For PSPlaceOpenBrace: place opening brace on the same line.
- -PSD1Style String
- Style for generated manifests (PSD1) for the selected ApplyTo targets.
- Possible values:
Minimal,Native - -RemoveAllEmptyLines SwitchParameter
- Remove all empty lines (more aggressive than RemoveEmptyLines).
- -RemoveComments SwitchParameter
- Remove comments in the formatted output.
- -RemoveCommentsBeforeParamBlock SwitchParameter
- Remove comments that appear immediately before the param() block.
- -RemoveCommentsInParamBlock SwitchParameter
- Remove comments within the param() block.
- -RemoveEmptyLines SwitchParameter
- Remove empty lines while preserving readability.
- -Sort String
- Optional ordering hint for internal processing. Accepts None, Asc, or Desc.
- Possible values:
Asc,Desc - -UpdateProjectRoot SwitchParameter
- When set, formats PowerShell sources in the project root in addition to staging output.
- -UseConsistentIndentationEnable SwitchParameter
- Enable PSUseConsistentIndentation rule and configure its behavior.
- -UseConsistentIndentationIndentationSize Int32
- Number of spaces for indentation when Kind is space.
- -UseConsistentIndentationKind String
- Indentation style for PSUseConsistentIndentation: space or tab.
- Possible values:
space,tab - -UseConsistentIndentationPipelineIndentation String
- Pipeline indentation mode for PSUseConsistentIndentation.
- Possible values:
IncreaseIndentationAfterEveryPipeline,NoIndentation - -UseConsistentWhitespaceCheckInnerBrace SwitchParameter
- For PSUseConsistentWhitespace: check inner brace spacing.
- -UseConsistentWhitespaceCheckOpenBrace SwitchParameter
- For PSUseConsistentWhitespace: check open brace spacing.
- -UseConsistentWhitespaceCheckOpenParen SwitchParameter
- For PSUseConsistentWhitespace: check open parenthesis spacing.
- -UseConsistentWhitespaceCheckOperator SwitchParameter
- For PSUseConsistentWhitespace: check operator spacing.
- -UseConsistentWhitespaceCheckPipe SwitchParameter
- For PSUseConsistentWhitespace: check pipeline operator spacing.
- -UseConsistentWhitespaceCheckSeparator SwitchParameter
- For PSUseConsistentWhitespace: check separator (comma) spacing.
- -UseConsistentWhitespaceEnable SwitchParameter
- Enable PSUseConsistentWhitespace rule and configure which elements to check.
- -UseCorrectCasingEnable SwitchParameter
- Enable PSUseCorrectCasing rule.
Common Parameters
This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.
For more information, see about_CommonParameters.