请不要将此视为“询问并回答”的问题。我真诚地一直在努力弄清楚为什么它停止了工作,如果是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添加到忽略列表。什么都没有。
答案 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
}