This linter plugin for SublimeLinter provides an interface to flake8.
SublimeLinter must be installed in order to use this plugin.
Install via Package Control or git clone
as usual.
Ensure that a flake8
is actually installed somewhere on your system. Typically, pip install flake8
on the command line will do that.
If you want to use a globally installed flake, make sure that it is available on the PATH. Before going any further, please read and follow the steps in "Finding a linter executable" through "Validating your PATH" in the documentation.
Otherwise configure "executable" or the "python" setting.
If you use pipenv, and you're working on a project with a Pipfile, everything should be automatic.
- SublimeLinter settings: http://sublimelinter.com/en/latest/settings.html
- Linter settings: http://sublimelinter.com/en/latest/linter_settings.html
Additional settings:
ignore_fixables
(default:True
): filter warnings that Sublime can fix automatically (e.g. trailing white-space) on save.
SublimeLinter-flake8 works with common flake8 configuration files and inline overrides. Note that by default the working dir is set to an open folder attached to the current window of Sublime. Edit this setting if your config files are located in a subfolder, for example.
Use "args" if you want to pass additional command line arguments to flake8
.
SublimeLinter-flake8 is compatible with most flake8 plugins out of the box. However, plugins that rely on selecting or ignoring certain files based on filename may appear to be "broken" due to the way SublimeLinter runs during linting. This includes flake8's own --per-file-ignores
option introduced in 3.7.0, as well as plugins such as flake8-aaa and flake8-pyi.
To make the source filename available to the flake8
executable again, pass the --stdin-display-name
option using SublimeLinter's "args" setting:
"args": ["--stdin-display-name", "${file:stdin}"]
Including the :stdin
fallback ensures that files that have yet to be saved are still linted.