vscode-powershell
vscode-powershell copied to clipboard
Set `Code Formatting:` settings based on existing PSScriptAnalyzerSettings.psd1 so autoformat stays in sync with ScriptAnalyzer
Prerequisites
- [X] I have written a descriptive issue title.
- [X] I have searched all issues to ensure it has not already been reported.
Summary
I need to have some PSScriptAnalyzer settings defined in a PSScriptAnalyzerSettings.psd1 so I can validate my code as part of CI. I also use VSCode, and keeping vscode settings and PSScriptAnalyzer settings in sync is a bit of a pain. Since PSScriptAnalyzer has a bunch of code formatting options supported, it would be great to be able to tell vscode to "format it the way Invoke-Formatter would.
Proposed Design
No response
Is there a specific issue with this setting that is not reading your settings file?
@JustinGrote here is an example:
# PSScriptAnalyzerSettings.psd1
@{
Rules = @{
PSAlignAssignmentStatement = @{
Enable = $false
CheckHashtable = $false
}
}
}
# test_file.ps1
$dict = @{
foo = "bar"
basdasdasd = "zoom"
}
With the following setup, running Invoke-ScriptAnalyzer -Settings ./PSScriptAnalyzerSettings.psd1 -Path ./test_file.ps1 -Fix does not result in any changes to the file. But if I hit Ctrl+S inside of vscode, the file is auto-formatted as follows:
$dict = @{
foo = "bar"
basdasdasd = "zoom"
}
despite the fact that I have set
PSAlignAssignmentStatement = @{
Enable = $false
CheckHashtable = $false
}