plinss / flake8-noqa

flake8 plugin to validate #noqa comments - Mirror of https://gitlab.linss.com/open-source/flake8/flake8-noqa
GNU Lesser General Public License v3.0
40 stars 6 forks source link

flake8-noqa slow with VSCode #28

Open steakhutzeee opened 1 year ago

steakhutzeee commented 1 year ago

Hello,

I just started using flake8-noqa. I use VSCode and it's Flake8 extension, that points to my .flake8 config file.

I noted that even if I fix the issues pointed by the plugin, the editor is not updated, like the code is not scanned again and I need to close and reopen VSCode to see the errors disappear.

Could this issue related to the plugin?

Thank you!

plinss commented 1 year ago

It's possible. flake8-noqa needs to run last and get notified of all the other violations that happen. Since flake8 doesn't provide an API to do either, flake8-noqa needs to monkeypatch flake8.

If the monkeypatch is causing problems, it's likely due to either flake8 having changed its internal APIs, or something else is also monkeypatching flake8 in a way that conflicts.

I haven't seen this problem, but I also don't use VSCode. There could be an issue with how VSCode talks to flake8. Be sure you're using the current version of flake8-noqa as there was an issue when getting fed from stdin (#24)

steakhutzeee commented 1 year ago

Thank you for your reply.

Here is what i'm using:

6.1.0 (flake8-bugbear: 23.7.10, flake8-builtins: 2.1.0, flake8-comprehensions: 3.14.0, flake8-eradicate: 1.5.0, flake8-noqa: 1.3.2, mccabe: 0.7.0,
pep8-naming: 0.13.3, pycodestyle: 2.11.0, pyflakes: 3.1.0) CPython 3.11.4 on Windows

I also set NQA to run last in my .flake8.

Looks also that i have an issue with this plugin and flake8-eradicate because for code like this:

# win.eval("tk::PlaceWindow . center") # noqa: E800

i receive the error: "# noqa: E800" has no matching violations (also from command line), and if i remove the noqa comment then i receive the error from flake8-eradicate for dead code.

Disabling all plugins apart from noqa i receive:

.\my_calendar.py:32:5: NQA102 "# noqa: E800" has no matching violations , and,

Xoriun commented 2 months ago

I have the same issue with pure VSCode flake8 version: 7.0.0 other flake8 plug-ins: WPS (with all its dependencies) this issue still persists when disabling all other flake8 plug-ins