Подтвердить что ты не робот

Как заставить редактор PyDev выборочно игнорировать ошибки?

Я использую PyDev в Eclipse для написания кода Jython. У меня есть многочисленные примеры, когда мне нужно сделать что-то вроде этого:

import com.work.project.component.client.Interface.ISubInterface as ISubInterface

Проблема в том, что PyDev всегда будет отмечать это как ошибку и сказать "Unresolved import: ISubInterface". Код работает очень хорошо, просто я предпочел бы не иметь эти маленькие белые/красные X-метки рядом с моим кодом, и у меня есть вкладка "Проблемы", замусоренная этими ошибками.

Есть ли способ добавить волшебный комментарий или что-то подобное в конец строки, чтобы PyDev проигнорировал ложную ошибку, подобно тому, как вы можете посыпать комментарии, такие как "# pylint: disable-msg = E1101", чтобы заставить PyLint игнорировать ошибки?

Кроме того, есть вероятность, что я просто ошибаюсь, когда речь заходит о использовании интерфейсов Java в Jython. В этом случае было бы очень полезно оценить немного руководства.

4b9b3361

Ответ 1

Вы можете добавить комментарий

#@UnresolvedImport
#@UnusedVariable

Итак, ваш импорт становится:

import com.work.project.component.client.Interface.ISubInterface as ISubInterface #@UnresolvedImport

Это должно удалить ошибку/предупреждение. Есть и другие комментарии, которые вы можете добавить.

Ответ 2

Добавьте символ хеша # в конец строки, затем с помощью курсора на отмеченной ошибке нажмите Ctrl-1. Один из вариантов в меню будет примерно как @UndefinedVariable. Добавление этого комментария приведет к тому, что PyDev проигнорирует ошибку.

Ответ 3

Вы можете сделать игнорирование, как и другие сообщения, но реальная проблема заключается в том, что Pydev не может найти этот класс... Если вы добавите .jar, который содержит этот класс к вашему PYTHONPATH, он должен иметь возможность его разрешить (или если у вас есть проект Java, который имеет этот класс, вы должны отметить этот проект как проект Pydev и добавить его папку bin в проект PYTHONPATH - в этом случае этот класс также должен быть найден).

Ответ 4

Это не проблема PYTHONPATH. Это связано с импортом/использованием статических внутренних классов класса Java. Я получаю такую ​​же вещь повсюду, например. при попытке использовать константы в java.awt.Color:

import java.awt.Color as Color
borderColor = Color.BLACK # get "Undefined variable from import: BLACK" error

В этом случае я не смог импортировать Color.BLACK. Спасибо iceman, по крайней мере, указав флаг # @UndefinedVariable. Это очень помогает. Заметим также, что это НЕ проблема с jython, код работает очень хорошо. Это просто проблема с PyDev.