SublimeLinter pep8_ignore 不工作

SublimeLinter pep8_ignore not working

我希望 SublimeLinter 忽略 PEP-8 E402 错误消息。我已将包用户设置更改为

"pep8_ignore": [
"E402"
]

并关闭并重新打开 Sublime Text。 SublimeLinter 仍然显示 E402 错误代码。为什么?

我将 ST3 与这些软件包一起使用:BufferScrool、LaTeXing、PackageControl、PackageResourceViewer、R-Box、Side Bar、Anaconda 和 SublimeLinter。

所以首先,我会注意到 Anaconda 执行它自己版本的 PEP-8 linting,所以你有一些功能重复发生......

其次,我注意到您似乎没有安装 SublimeLinter-pep8,这意味着(因为 ST3 上的 Package Control 安装的 SublimeLinter 将成为 SublimeLinter3,这需要 linting 插件来执行任何操作) 它不是 SublimeLinter。需要考虑的事项:(1) 您看到的 linting 错误是来自 Anaconda 而不是 SublimeLinter?如果是这样,您需要在 Anaconda 用户设置中设置 "pep8_ignore" 而不是 SublimeLinter。 (2) 你是否(以某种方式)在 ST3 上使用旧的、不受支持的 SublimeLinter 版本?在这种情况下,要么 (a) 切换到使用 Anaconda 并忽略 SublimeLinter 以检查 python 文件,要么 (b) 将 SublimeLinter 升级到 SublimeLinter3,安装 SublimeLinter-pep8 并参见下文。

假设您实际上正在尝试使用以前版本的 SublimeLinter 中的 SublimeLinter-pep8 plugin on SublimeLinter3: SublimeLinter3, which uses an entirely different settings structure。因此,"pep8_ignore" 设置不再有效。这是预期的行为。

为了完成您想要的,您需要在设置文件中设置这些设置:

{
    "user": {
        "linters": {
             "pep8": {
                 "ignore": "E402"
             }
        }
    }
}

但请仔细阅读 SublimeLinter settings docs as there are a lot of different ways to configure your settings, and have a look at the docs for the pep-8 plugin

作为 ig0774 , Anaconda has its own built-in linters (pylint, pep8, pep257, and pyflakes), which are producing the error message you'd like to ignore, not SublimeLinter. If for some reason you want to shut off linting with Anaconda and perform it with one or more SublimeLinter plugins, you'll need to install and configure those plugins. Search 包控制了解更多信息。

要配置 Anaconda,首先打开 Preferences -> Package Settings -> Anaconda -> Settings-Default,然后在同一子菜单中打开 Settings-User。将 Default 的全部内容复制到 User,然后关闭 Default,因为无论如何都无法编辑它。我强烈建议通读整个文件,因为它有很好的注释。您要查找的设置也称为 "pep8_ignore",在当前版本的 Anaconda 中位于第 318 行。此文件似乎经常更改,因此此位置可能会随着时间的推移而更改。搜索名字就可以了。

如果您想完全关闭 Anaconda 的 linting 功能,请将 "anaconda_linting" 设置为 false