Giter Site home page Giter Site logo

pylinter's Introduction

Pylinter Sublime Text 2/3 Plugin ------------------------------

Introduction

This is a small plugin for Sublime Text 2 and 3 that allows automatic Python source code checking by Pylint.

Since Pylint can take a while before it has completed its task (multiple seconds), it is run from a separate thread, so the plugin won't lock up Sublime Text.

The plugin can be automatically invoked on save or by a keyboard shortcut.

Support for Pylint configuration files is included.

Note:

** Pylint needs to be installed separately!!! **

If you have installed Pylint into a Virtualenv, you need to launch Sublime
Text from that Virtualenv for everything to work correctly. This might be
resolved in the future.

Latest changes

2014-03-03

Added support for Pylint plugins. You can add a list of plugin module names into your configuration using the plugins setting.

2013-11-15

Some refactoring has been done to make sure Pylinter works better under ST3. Also, the error handling, in case Pylint cannot be found, is improved.

2013-09-06

Improved Pylint detection and a Pylint version check bug fix.

2013-09-01

This is the first version of Pylinter that is both compatible with Sublime Text 2 and 3. Please feel free to report any issues. And many thank-yous to everyone reporting issues and supplying solutions in regards to Python 3 compatibility.

2013-08-24

Thanks to dbader for the Pylint 1.0 support

  • Pylinter now automatically detects what version of Pylint is used and is both compatible with the new 1.0.0 version and the older ones.

2013-01-20

Thanks to KristoforMaynard for the following additions:

  • When the message_stay setting is set to true, the error messages will be displayed as long as the cursor stays on the offending line.
  • The disable_outline setting can be set to true to hide the outlines of errors.
  • The disable setting can be assigned a list or errors to ignore. E.g. ["C0301", "E1011"]

2012-09-12

  • Pylinter will now try and automatically find the path to Pylint.

2012-09-06

  • Pylinter now allows for platform and/or host specific configuration to be stored in a single configuration file. This is particulary useful for the pylint_path setting.

    Simply change a setting like

    "pylint_path": "<your pylint path>"

    into something like this:

    "pylint_path": {
        "#multiconf#": [
            {"os:windows": "<your windows pylint path>"},
            {"os:linux;host:<host name": "<your linux pylint path>"},
            {"os:linux;host:<other host name": "<your other linux pylint path>"}
        ]
      }

    For more information you can have a look at the following gist.

2012-08-31

  • Added icons for different message types. You can use these icons by setting the option use_icons to true (Icons by Yusuke Kamiyamane).

2012-08-29

  • Added an 'ignore' function, allowing for easy insertion of #pylint: disable= statements/comments.
  • Included wuub's error colouring. Either use the included MonokaiPylinter.tmTheme file, or have a look at it to see how you can colour the different erros and warnings.

Configuration

Pylinter will try and determine the path to Pylint. If it fails you must provide a full path to the lint.py module of your Pylint installation!

  • python_bin: The full path to the Python executable you want to use for

    running Pylint (e.g. when you are using virtualenv) or simply python if you want to use your default python installation.

  • python_path: An optional list of paths that will be added to Pylint's

    Python path.

  • working_dir: An optional path to the working directory from which Pylint

    will be run.

  • pylint_path: The full path to the lint.py module.
  • pylint_rc: The full path to the Pylint configuration file you want to use,

    if any.

  • run_on_save: If this setting is set to true, Pylint will be invoked

    each time you save a Python source code file.

  • ignore: A list of Pylint error types which you wish to ignore.

    Possible values:

    • "R" : Refactor for a "good practice" metric violation
    • "C" : Convention for coding standard violation
    • "W" : Warning for stylistic problems, or minor programming issues
    • "E" : Error for important programming issues (i.e. most probably bug)
    • "F" : Fatal for errors which prevented further processing
  • use_icons: Set to true if you want to display icons instead of dots in the margin.

Multiconf

Any setting can be replaced by a Multiconf structure :

"pylint_path": {
    "#multiconf#": [
        {"os:windows": "<your windows pylint path>"},
        {"os:linux;host:<host name": "<your linux pylint path>"},
        {"os:linux;host:<other host name": "<your other linux pylint path>"}
    ]
  }

For more information you can have a look at the following gist.

Project settings

You may also store settings in your *.sublime-project files. Create a "pylinter" section as shown below and override any or all of the described settings:

{
    "folders":
    [
        {
            "path": "/N/development/fabrix"
        }
    ],
    "settings":
    {
        "pylinter":
        {
        }
    }
}

Commands & Keyboard Shortcuts

Run

The plugin can be invoked by a keyboard shortcut:

  • OS X: Command+Alt+z
  • Linux, Windows: Control+Alt+z

Add pylint ignore comment/statement

Add a 'Pylint disable' comment to the end of the line with an error code in it, so it will be ignored on the next check.

  • OS X: Command+Alt+i
  • Linux, Windows: Control+Alt+i

Toggle Marking

The marking of the errors in the file can be toggled off and on:

  • OS X: Command+Alt+x
  • Linux, Windows: Control+Alt+x

Quick List

To see a quick list of all the Pylint errors use:

  • OS X: Command+Alt+c
  • Linux, Windows: Control+Alt+c

pylinter's People

Contributors

biermeester avatar kristoformaynard avatar dbader avatar ehuss avatar planestepper avatar sputnikus avatar spanasik avatar wuub avatar patrickcd avatar

Watchers

Kill Console avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.