Как убедиться, что vscode-python правильно отображает записи линтера из расширений flake8-rst-docstrings и/или flake8-black?

В отличие от некоторых других расширений 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?


person jraygauthier    schedule 23.01.2019    source источник
comment
Привет, я сопровождаю расширение. Я обновил вашу проблему соответственно. расширение Python необходимо обновить, чтобы справиться с этим сценарием.   -  person Don    schedule 23.01.2019
comment
Это отлично, спасибо @Don за вашу быструю реакцию.   -  person jraygauthier    schedule 23.01.2019


Ответы (1)


Вы абсолютно правы с https://github.com/Microsoft/vscode-python/issues/4074 — это ошибка в vscode, и ваше исправление выглядит разумным. Я тоже там прокомментировал.

Более длинные коды отражают изменения в flake8 v3, http://flake8.pycqa.org/en/latest/plugin-development/registering-plugins.html

Обратите внимание: начиная с Flake8 3.0 ваша точка входа не должна состоять ровно из 4 символов. Рассмотрите возможность использования точки входа с 3 буквами, за которыми следуют 3 цифры (например, ABC123).

Первоначальное соглашение об одной букве и трех цифрах привело к конфликту кодов нескольких плагинов flake8.

Раскрытие информации: автор flake8-rst-docstrings и flake8-black - спасибо, что попробовали их! https://github.com/peterjc/flake8-rst-docstrings https://github.com/peterjc/flake8-black

person peterjc    schedule 19.02.2019