35

I'm using Anaconda with Sublime text 3. I have left the lint settings as default with the exception of the following overrides which I've included in a .sublime-project file.

"settings": {
        "anaconda_gutter_marks": true,
        "anaconda_gutter_theme": "alpha",
        "anaconda_linting_behaviour": "always",

    }

I'd like to be able to ignore "line too long" for certain lines, specifically ones with urls in the comments. I like having it for other lines so I would rather not disable it entirely.

I've only found information on doing this for pylint but I'd rather use the default linter if that is possible since that seems to come with its own issues in this plugin.

I've included the sublimelinter tag because anaconda states it's linting is based off of that plugin.

Community
  • 1
  • 1
Daniel Rucci
  • 2,662
  • 2
  • 30
  • 42

5 Answers5

74

To disable lints for specific errors, go to the Anaconda.sublime-settings file (Preferences > Packages Settings > Anaconda > Settings). There you will find several options depending on which linter you are using.

For example, to disable linting for "line too long" for pep8, fill in the following:

"pep8_ignore":
[
    "E501"
],

Also, the easiest way to find out the correct error code is to the view the lint error itself at the bottom of the screen.

Craig Fisher
  • 869
  • 1
  • 6
  • 7
  • 8
    This question asks how to ignore errors _on certain lines only_, which your answer does not address. – Jeffrey Bosboom Mar 05 '15 at 00:49
  • 5
    First time you're changing Anaconda user settings? Go to `Preferences > Packages Settings > Anaconda > Settings - User` then verbatim use `{ "pep8_ignore": ["E501"] }` in order to get valid JSON. – André C. Andersen Mar 13 '16 at 13:56
  • 3
    @JeffreyBosboom yes but incase anyone else is looking for the ignore all case this is the answer. still useful information and on topic – John Ruddell Mar 29 '16 at 17:02
13

As of today (Oct 15, 2017), it appears to me that you can use the # noqa syntax with Anaconda for Sublime Text 3. For line too long, you would add # noqa E501 to the end of the line.

Example:

shipping_account = models.ForeignKey(Account, related_name='order_shipping_set') # noqa E501
Саша Черных
  • 1,859
  • 2
  • 21
  • 61
Nostalg.io
  • 3,322
  • 1
  • 21
  • 31
  • I assumed by putting `E501` at the end, it would *only* ignore "line too long" errors. But it seems to ignore all lint errors. (I have a line that's 200 characters, and I added `# noqa E231` expecting to see the `E501` error show ...it did not though). Is that correct, or am I perhaps doing something wrong? – BruceWayne Dec 27 '18 at 19:08
11

I am afraid that you can't ignore an error type (like line too long) just for some lines. You can't disable just warnings or violations neither.

It would be possible to implement some custom system like the #noqa comment in flake8 to make the plugin able to just ignore certain lines of code but this has to be implemented as it's not supported by the plugin and there are no plans to use flake8 in replacement of PyFlakes and pep8 that are already being used by separate.

There is a similar (but in a much more abstract way) request already in the issues in the GitHub project, you can find it here https://github.com/DamnWidget/anaconda/issues/142

DamnWidget
  • 1,207
  • 1
  • 10
  • 16
  • 7
    Update: @DamnWidget closed the above-mentioned issue a couple of weeks after posting this. Now using `# noqa error_number` with certain numbers (E501 included) will work. See the above link (in this answer) for the full list of error numbers that it will work with. Figured an update would save some people some clicks. – FireSBurnsmuP Jul 24 '14 at 21:10
  • 1
    How would I disable all warning and violations? I would like only errors to be displayed. – Trismegistos Feb 13 '15 at 14:27
  • Currently is not possible to ignore certain error types, you can always open a new issue in our Github project page and me or any other contributor can study its convenience. – DamnWidget Apr 23 '16 at 10:46
  • 1
    One way to do achieve this today, is to set {"anaconda_linting": false} and use SublimeLinter-flake8 in combination with `# flake8: noqa` – tutuDajuju Oct 19 '16 at 15:27
  • I think @CraigFischer has the best answer for this issue (out of many similar topics) – ToTenMilan Nov 30 '17 at 12:55
2
  • Go to the Anaconda.sublime-settings file,

    Preferences > Packages Settings > Anaconda > Settings

  • There you will find several options depending on which linter you are using.

    For example, to disable linting for "line too long" for pep8, fill in the following:

    "pep8_ignore":
        [
        "E501"
        ],
    
Codemaker
  • 4,115
  • 1
  • 32
  • 30
0

Preferences > Package Settings > Anaconda > Settings - User

{
    "pep8_max_line_length": 120
}