Skip to content

Latest commit

 

History

History
69 lines (48 loc) · 2.74 KB

File metadata and controls

69 lines (48 loc) · 2.74 KB

SublimeLinter-contrib-PSScriptAnalyzer

Build Status

This linter plugin for SublimeLinter provides an interface to PowerShell's PSScriptAnalyzer module. It will be used with files that have the “PowerShell” syntax.

Installation

SublimeLinter must be installed in order to use this plugin.

Please use Package Control to install the linter plugin.

Before installing this plugin, you must ensure that:

Install-Module -Name PSScriptAnalyzer

In order for pwsh to be executed by SublimeLinter, you must ensure that its path is available to SublimeLinter. The docs cover troubleshooting PATH configuration.

PSScriptAnalyzer settings

If a file named PSScriptAnalyzerSettings.psd1 exists in the user's home directory it's used as PSScriptAnalyzer's settings file when calling Invoke-ScriptAnalyzer cmdlet. Please refer to PSScriptAnalyzer for details.

Example content of a settings file:

@{
    # Select which diagnostic records to show.
    # Valid values are: ParseError, Error, Warning, Information
    Severity = @('ParseError', 'Error', 'Warning')

    ExcludeRules = @(
        'PSUseApprovedVerbs'
    )

    IncludeDefaultRules = $true
}

Path/name of the PSScriptAnalyzer's settings can be customized:

"linters": {
    ...
    "psscriptanalyzer": {
        // full path
        "settings": "D:\\Scripts\\CustomSettings.psd1"
        // environment variables will be expanded
        "settings": "%SCRIPTS_DIR%\\CustomSettings.psd1"
        // or built-in preset name (beware that linting fails if the name is not a valid preset name)
        "settings": "PSGallery"
        // default - remove or set to null
        "settings": null
    }

General Settings

TODO

  • Handle the case when a given preset name is not a valid PSScriptAnalyzer preset. Now it just fails to lint.