Linters are used to highlight syntax and style errors in your source code. It is very useful to have when writing python, js, css, YAML, etc.
To enable linting in Sublime text 3, a few things need to be installed to get it working.
1) Install Sublime Linter first. This is a framework rather than an actual linter that can inspect your code. When we install other linters, they will depend on this framework. Thus, it is important to install this 'mother base' first.
2) Install pep8 and pyflake. These python libraries will be used by the linters installed in the next step. Open up a console window, and install them by:
NOTE: make sure you are not installing these packages while using virtualenv. This is the mistake that I made. These pacakges need to be available system wide.
- open up package control, cmd+shift+p on Mac OS X, ctrl+shift+p on Linux/Windows
- type 'install' and select 'Package Control: Install Packages'
- type 'pep8' and find 'SublimeLinter-pep8'
- type 'pyflakes' and find 'SublimeLinter-pyflakes'
4) After everything has been installed, restart sublime text 3
5) Now you should see error highlights in the gutter and around the code. To set when linting should be active, right click anywhere in Sublime Text 3 and select 'SublimeLinter' > 'Lint Mode'
6) It is very likely that pep8 will point out a few styling errors. It is anonying to fix them by hand. We can use another plugin to autoformat python code for us. Install Python PEP8 Autoformat via package control.
After this is installed, press 'ctrl + shift + r' to perform auto format.
7) pep8 linter is likely to complain about using 4 spaces instead of tabs when writing Python code. You can change this in Sublime's setting File. Go to 'Sublime Text > Preferences > Settings - User', add the following lines:
Now, when the tab key is pressed, 4 spaces are inserted instead.