PyCharm noinspection для всего файла?

Можно ли отключить проверку всего файла в PyCharm?

Причина, по которой это необходимо, заключается в работе с py.test. Он использует приборы, которые отображаются в теневых функциональных параметрах и в то же время вызывают неразрешенные ссылки. например:.

from myfixtures import user  # Unused import statement warning

def test_is_awesome(user):  # Shadows name 'user' from outer scope warning
    assert user.is_awesome()

Существуют также другие предупреждения из py.test, такие как использование pytest.raises() вызывает "Не удается найти ссылку" повышает "в pytest.py.

Может быть, есть еще один способ исправить эти проблемы? Возможно, я неправильно использовал py.test?

Ответ 1

Можно ли отключить проверку всего файла в PyCharm?

Да. Этот ответ только для этого вопроса (а не о "Может быть, есть другой способ исправить эти проблемы? Возможно, я неправильно использовал py.test?" ).

  • "Настройки | Области"
  • Создайте новую область, которая будет включать такие "нежелательные" файлы (ы)
  • "Настройки | Инспекции"
  • Найти "проблемную" инспекцию
  • Щелкните правой кнопкой мыши и выберите "Добавить область"
  • Отключить эту проверку для этой конкретной области

Альтернативно (может работать или нет: зависит от фактического осмотра.. и я не уверен, действительно ли он работает в PyCharm таким образом - не пользователь PyCharm, к сожалению)

  • Alt + Enter, в то время как карет стоит на месте ошибки/предупреждения в вашем коде
  • Выберите правильную запись из появившегося всплывающего меню
  • Использование подменю Arrow Right для раскрытия ключа
  • Найдите опцию "Подавить проверку"

Вот как это выглядит в PhpStorm (снимок экрана показывает параметр "подавить для оператора", а не "подавлять для всего файла" ):

enter image description here

Связано: fooobar.com/questions/449492/...

Ответ 2

Чтобы ответить на вопрос "Возможно, я неправильно использую py.test?" Вопрос:

Импортирование светильников - не лучший образец. Вместо этого лучше поместить светильники в файл conftest.py пакета, который им нужен. Если устройство используется в двух пакетах, просто поместите conftest.py в свой родительский каталог и поставьте там светильник. Это должно избавиться от неиспользуемых предупреждений об импорте и отслеживании.

Что касается проблемы с пространством имен pytest.raises, я не думаю, что в этом есть решение. Это то, что pylint также страдает (и я думаю, что есть попытка создать плагин py.test для pylint для решения этих проблем). Поэтому я думаю, что в конце дня линкер все равно должен немного узнать о py.test.