Zelta
Zelta

Reputation: 764

Suppress warning for both pycharm and pylint

I use PyCharm to write code and I also have CI server configured to run PyLint on every PR. The problem is PyCharm and PyLint use different comments for warning suppression:

# noinspection PyMethodMayBeStatic
# pylint: disable=no-self-use

I don't like having two comments for both PyCharm and PyLint. Is there a way to configure PyLint to understand PyCharm comments or to configure PyCharm to understand PyLint comments?

Upvotes: 21

Views: 5389

Answers (2)

Stefan
Stefan

Reputation: 12260

There is a pylint plugin for PyCharm:

File => Settings => Plugins => search for "pylint" and install

https://github.com/leinardi/pylint-pycharm

=> Maybe use that plugin and disable the duplicate PyCharm Inspections?

Upvotes: 1

axwr
axwr

Reputation: 2236

Is there a way to configure PyLint to understand PyCharm comments or to configure PyCharm to understand PyLint comments?

No. At least not currently that i am aware of. You could always write something, although i believe there is a simpler option.

I am looking for a way to make PyCharm understand the PyLint syntax, that is comments like # pylint: disable=unused-argument to supress specific linter warnings.

Rather than make "PyCharm understand the PyLint syntax" Why not integrate PyLint with PyCharm:

Within PyCharm:

    Navigate to the preferences window
    Select “External Tools”
    Click the plus sign at the bottom of the dialog to add a new external task
    In the dialog, populate the following fields:
    Name:   Pylint
    Description:    A Python source code analyzer which looks for programming errors, helps enforcing a coding standard and sniffs for some code smells.
    Synchronize files after execution:
        unchecked
    Program:    /path/to/pylint
    Parameters: $FilePath$
    Click OK

The option to check the current file with Pylint should now be available in Tools > External Tools > Pylint.

Then in disable the PyCharm specific warnings in PyCharm. Now you only need to use the PyLint warnings. I realise this isn't exactly what you wanted but i hope it helps. It works for me atleast. The nice thing about using only PyLint warnings is that sharing the code with people who use other editors is simpler.

Upvotes: 6

Related Questions