VS代码>首选项>用户设置>扩展> Python> Linting> Flake8 Args添加的项目停止工作

时间:2019-11-21 15:07:10

标签: python vscode-settings flake8

请不要将此视为“询问并回答”的问题。我真诚地一直在努力弄清楚为什么它停止了工作,如果是VS Code问题,或者是Flake8问题,或者我只是疯了,应该找到其他解决方法。

寻找一种阻止Flake8 linter的“文件过长”和“未使用”警告的方法,我找到了一个列为StackFlow上最热门的解决方案。我完全复制并粘贴了它,它起作用了!很好,但是遵循admin.py文件中有关此代码的Django Project教程时:

from django.contrib import admin
from .models import Choice, Question


class ChoiceInline(admin.StackedInline):
    model = Choice
    extra = 3


class QuestionAdmin(admin.ModelAdmin):
    fieldsets = [
        (None,               {'fields': ['question_text']}),
        ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
    ]
    inlines = [ChoiceInline]


admin.site.register(Question, QuestionAdmin)

突然,(该设置已经可以正常使用数天了),我收到此问题警告: 行太长(80> 79个字符)flake8(E501)(13,80)

我知道我对此可能会太挑剔,但这确实很烦人。我还读到可以在不破坏代码连续性的情况下使用反斜杠来断开行,但我也尝试过这样做,并收到一条消息,说反斜杠在方括号内是多余的。

我返回到设置,并检查它们是否仍然与Args建议的完全一样。我删除了更改。我关闭并重新启动VS Code,返回并重新插入 再次设置。仍然出现相同的错误,我不知道Flake8从何处获取并再现错误消息,其中80大于79信息。

有人知道为什么设置突然停止工作并且flake8恢复为忽略设置中要忽略的参数吗?

这是停止为我工作的热门解决方案: VS代码,首选项,用户设置,扩展,Python,Linting,Flake8 Args

"python.linting.flake8Args": [
    "--max-line-length=120",
    "--ignore=E402,F841,F401,E302,E305",
],

我什至尝试将行长扩展到180,并将E501添加到忽略列表。什么都没有。

2 个答案:

答案 0 :(得分:0)

这是寻找我自己答案的编辑。我发现,如果我在实际的settings.json文件中进行建议的编辑,而不是通过VS Code用户设置界面进行编辑,则该编辑实际上可以正常工作。

我不确定是否可以单独更改它就足够了,因为在我的研究和搜索中,我发现在虚拟环境文件夹中安装了flake。无论如何,我认为这是一个好主意,因为我不希望vscode使用全局系统安装的flake8,我假设这是在安装vscode flake8扩展时发生的。

因此,我首先使用pip在我的虚拟环境项目文件夹中安装flake8。我检查了点子冻结。 Flake8位于虚拟环境的Windows \ Scripts文件夹中。

然后我将settings.json文件放在该虚拟环境项目文件夹的.vscode文件夹中。

我以前做过的一切都没有用。我在StackOverflow上尝试了很多其他建议。当我阅读Flake8文档时,我遇到了编写setup.cfg文件的问题,但是无论放置在什么位置,我都没有得到忽略我想要的警告和错误的结果。

然后,我返回并重新阅读了原始建议,并发现它提到了执行此操作的两种方法,然后我尝试编辑settings.json文件。如果有人可以添加解释,我仍然会感激的,但是就我而言,我已经找到了令人满意的答案。这是一次很棒的学习经历。

答案 1 :(得分:0)

我也遇到了这个问题,我的解决方案是禁用“ pycodestyleEnabled”:

{
"python.linting.pycodestyleEnabled": false
}