Skip to content
SublimeLinter plugin for PowerShell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
messages
.no-sublime-package
Default.sublime-commands updated readme May 26, 2019
LICENSE
PSScriptAnalyzerSettings.psd1 reworked May 21, 2019
PSScriptAnalyzer_AutoFix.sublime-build
README.md updated readme Jun 3, 2019
linter.py
messages.json

README.md

SublimeLinter-contrib-powershell

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

This linter works on Windows PowerShell 3.0 or greater and PowerShell Core 6.1.0 or greater on Windows/Linux/macOS.
You can check your powershell version with $PSVersionTable.PSVersion from a powershell prompt.

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 PSScriptAnalyzer is installed on your system and available on powershell startup.

PSScriptAnalyzer can be installed with Install-Module -Name PSScriptAnalyzer from a powershell prompt, which automatically makes the module available on powershell startup.

Settings

The simplest way to change the ScriptAnalyzer settings is from a settings file.
An example settings file with commented options is located in this plugins root folder. The provided example settings file checks for compatibility with powershell 3.0 and excludes the check for trailing spaces.

The linter will decide which settings to use in the following order:

  1. If a valid PSScriptAnalyzerSettings.psd1 file exists in your project folder, those settings will have precedence over all other settings. This enables you to use different settings for different projects.

  2. If the variable $GlobalPSScriptAnalyzerSettingsPath exists in your powershell environment and is populated with the full path to a valid settings file, those settings will be used. This enables you to use global custom settings. For persistency, set this variable in your powershell profile.

  3. If no settings file is found in your project folder and the $GlobalPSScriptAnalyzerSettingsPath variable is not set, default settings of PSScriptAnalyzer will be used. (all default rules enabled and no compatibility checks)

PSScriptAnalyzer have the ability to automatically fix certain warnings. For example expanding aliases. Even though I believe this functionality is fairly tested, always make sure to back your files before using it.
Type Powershell: Fix warnings in the command palette to try it out.

SublimeLinter settings

You can’t perform that action at this time.