Как убедиться, что vscode-python правильно отображает записи линтера из расширений flake8-rst-docstrings и / или flake8-black flake8?
В отличие от некоторых других расширений flake8 (например: flake8-rst-docstrings
), flake8-rst-docstrings
а также flake8-black
выводить коды с 3 буквенными символами вместо 1 (RST299
а также BLK100
против D204
) который, кажется, мешает vscode-python
от отображения этих записей в vscode
вкладка ПРОБЛЕМЫ.
Для следующего фрагмента:
from collections import \
namedtuple, \
deque
class ControlAlgoCoreSimpleSlots:
"""My non pydocstring compliant
summary which should make `flake8-docstrings` bark.
Here's some markdown code block (non valid sphinx syntax
which should make `flake8-rst-docstrings` bark.
```
def my_blocking_closure_fn():
return long_blocking_call_on(my_argument_data)
return self.make_blocking_job(my_blocking_closure_fn)
```
"""
pass
flake8 сообщает:
$ flake8 '--format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s' ./mymodule.py
1,1,F,F401:'collections.namedtuple' imported but unused
1,1,F,F401:'collections.deque' imported but unused
1,1,D,D100:Missing docstring in public module
1,25,B,BLK100:Black would make changes.
5,1,E,E302:expected 2 blank lines, found 1
6,1,D,D204:1 blank line required after class docstring
6,1,D,D205:1 blank line required between summary line and description
6,1,D,D400:First line should end with a period
12,1,R,RST299:Inline literal start-string without end-string.
14,1,R,RST301:Unexpected indentation.
15,1,R,RST201:Block quote ends without a blank line; unexpected unindent.
15,1,R,RST299:Inline literal start-string without end-string.
15,1,R,RST299:Inline interpreted text or phrase reference start-string without end-string.
в то время как vscode отсутствует RST
а также BLK
записей. Пожалуйста, обратитесь к vscode-python / Issues / 4074 для изображения вывода vscode, так как я не могу публиковать его здесь.
Я вежливо сообщил vscode-python / Issues / 4074 о vscode-python
Однако этот парень из d3r3kk немедленно и внезапно закрыл проблему, ссылаясь на документацию flake8 для vscode без какого-либо конкретного решения моей проблемы.
Может кто-нибудь помочь мне настроить vscode-python, чтобы я мог получить все мои записи линтера, в том числе из flake8-rst-docstrings
а также flake8-black
?
1 ответ
Вы абсолютно правы с https://github.com/Microsoft/vscode-python/issues/4074 - это ошибка в vscode, и ваше исправление выглядит разумным. Я тоже там прокомментировал.
Более длинные коды отражают изменения в flake8 v3, http://flake8.pycqa.org/en/latest/plugin-development/registering-plugins.html
Обратите внимание: ваша точка входа не обязательно должна быть точно 4 символами, начиная с Flake8 3.0. Попробуйте использовать точку входа с 3 буквами, за которыми следуют 3 цифры (т. Е. ABC123).
Первоначальное соглашение, состоящее из одной буквы и трех цифр, привело к конфликту кодов плагинов flake8.
Раскрытие: Автор flake8-rst-docstrings
а также flake8-black
- спасибо, что попробовал их! https://github.com/peterjc/flake8-rst-docstrings https://github.com/peterjc/flake8-black