【问题标题】:How can I ignore a lint error for a line with Sublime Text 3 Anaconda?如何忽略 Sublime Text 3 Anaconda 行的 lint 错误?
【发布时间】:2014-06-23 09:49:13
【问题描述】:

我将Anaconda 与 Sublime 文本 3 一起使用。我将 lint 设置保留为默认设置,但我在 .sublime-project 文件中包含以下覆盖。

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

    }

我希望能够忽略某些行的“行太长”,特别是带有urls in the comments 的行。我喜欢将它用于其他线路,所以我宁愿不完全禁用它。

我只找到了有关为 pylint 执行此操作的信息,但如果可能的话,我宁愿使用默认 linter,因为这似乎与它的 own issues 一起出现在这个插件中。

我已经包含了 sublimelinter 标签,因为 anaconda 声明它的 linting 是基于该插件的。

【问题讨论】:

  • Daniel Rucci,如果它适合你,请接受 Nostalg.io 的回答。在 2018 年 Anaconda 支持 #noqa。谢谢。

标签: sublimetext3 sublimelinter sublime-anaconda


【解决方案1】:
  • 转到 Anaconda.sublime-settings 文件,

    首选项 > 包设置 > Anaconda > 设置

  • 根据您使用的 linter,您会找到几个选项。

    例如,要为 pep8 禁用“line too long”的 linting,请填写以下内容:

    "pep8_ignore":
        [
        "E501"
        ],
    

【讨论】:

    【解决方案2】:

    首选项 > 包设置 > Anaconda > 设置 - 用户

    {
        "pep8_max_line_length": 120
    }
    
    

    【讨论】:

      【解决方案3】:

      截至今天(2017 年 10 月 15 日),在我看来,您可以# noqa 语法与 Anaconda 一起用于 Sublime Text 3。也适用于行很长,你可以在行尾添加# noqa E501

      例子:

      shipping_account = models.ForeignKey(Account, related_name='order_shipping_set') # noqa E501
      

      【讨论】:

      • 我假设通过将E501 放在末尾,它会忽略“行太长”错误。但它似乎忽略了所有 lint 错误。 (我有一行 200 个字符,我添加了 # noqa E231 期望看到 E501 错误显示......但它没有)。这是正确的,还是我做错了什么?
      【解决方案4】:

      要针对特定​​错误禁用 lints,请转到 Anaconda.sublime-settings 文件(Preferences > Packages Settings > Anaconda > Settings)。根据您使用的 linter,您会找到几个选项。

      例如,要为 pep8 禁用“line too long”的 linting,请填写以下内容:

      "pep8_ignore":
      [
          "E501"
      ],
      

      此外,找出正确错误代码的最简单方法是在屏幕底部查看 lint 错误本身。

      【讨论】:

      • 这个问题询问如何忽略错误仅在某些行,您的答案没有解决。
      • 第一次更改 Anaconda 用户设置?转到Preferences > Packages Settings > Anaconda > Settings - User,然后逐字使用{ "pep8_ignore": ["E501"] } 以获得有效的JSON。
      • @JeffreyBosboom 是的,但如果其他人正在寻找忽略所有情况,这就是答案。仍然有用的信息和主题
      【解决方案5】:

      恐怕您不能仅针对某些行忽略错误类型(例如行太长)。您也不能只禁用警告或违规。

      可以实现一些自定义系统,例如 flake8 中的 #noqa 注释,以使插件能够忽略某些代码行,但这必须实现,因为插件不支持它并且有没有计划使用flake8 来代替已经被单独使用的PyFlakespep8

      在 GitHub 项目的问题中已经有一个类似(但以更抽象的方式)的请求,你可以在这里找到它 https://github.com/DamnWidget/anaconda/issues/142

      【讨论】:

      • 更新:@DamnWidget 在发布此问题几周后关闭了上述问题。现在使用带有某些数字(包括 E501)的# noqa error_number 将起作用。有关它将使用的错误编号的完整列表,请参见上面的链接(在此答案中)。认为更新可以为某些人节省一些点击次数。
      • 如何禁用所有警告和违规行为?我只想显示错误。
      • 目前无法忽略某些错误类型,您可以随时在我们的 Github 项目页面中打开一个新问题,我或任何其他贡献者可以研究它的便利性。
      • 今天实现这一目标的一种方法是设置 {"anaconda_linting": false} 并结合使用 SublimeLinter-flake8 和 # flake8: noqa
      • 我认为@CraigFischer 有这个问题的最佳答案(在许多类似的主题中)
      猜你喜欢
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 2015-06-01
      • 2017-06-10
      相关资源
      最近更新 更多