SublimeLinter pep8_ignore无法正常工作

时间:2015-07-30 21:40:21

标签: python sublimetext3 pep8

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

"pep8_ignore": [
"E402"
]

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

我在这些软件包中使用ST3:BufferScrool,LaTeXing,PackageControl,PackageResourceViewer,R-Box,Side Bar,Anaconda和SublimeLinter。

2 个答案:

答案 0 :(得分:3)

首先,我注意到Anaconda执行了自己版本的PEP-8 linting,因此您发现了一些功能性重复...

其次,我注意到您似乎没有安装SublimeLinter-pep8,这意味着(因为ST3上由Package Control安装的SublimeLinter将是SublimeLinter3,这需要linting插件到做任何事情)它不是SublimeLinter。需要考虑的事项:(1)你看到的是从Anaconda而不是SublimeLinter看到的掉毛错误?如果是这样,您需要在Anaconda用户设置而不是SublimeLinter中设置"pep8_ignore"。 (2)你(不知何故)在ST3上使用旧的,不受支持的SublimeLinter版本吗?在这种情况下,要么(a)切换到使用Anaconda并忽略SublimeLinter用于linting python文件或(b)将SublimeLinter升级到SublimeLinter3,请安装SublimeLinter-pep8并参见下文。

假设您实际上尝试在SublimeLinter3:SublimeLinter3上使用SublimeLinter-pep8 plugin,它使用先前版本的SublimeLinter中的entirely different settings structure。因此,"pep8_ignore"设置不再受到尊重。这是预期的行为。

为了达到您想要的效果,您需要在设置文件中设置这些设置:

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

但请仔细阅读SublimeLinter settings docs,因为有很多不同的方法来配置您的设置,并查看docs for the pep-8 plugin

答案 1 :(得分:1)

作为ig0774 mentioned,Anaconda有自己的内置链接(pylintpep8pep257pyflakes),它们正在产生您要忽略的错误消息,不是 SublimeLinter。如果由于某种原因你想要用Anaconda关闭linting并使用一个或多个SublimeLinter插件执行它,你需要安装和配置这些插件。 Search打包控件以获取更多信息。

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

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