Как я могу заставить редактор PyDev выборочно игнорировать ошибки? - PullRequest
33 голосов
/ 09 ноября 2009

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

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

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

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

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

Ответы [ 4 ]

56 голосов
/ 09 ноября 2009

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

#@UnresolvedImport
#@UnusedVariable

Таким образом, ваш импорт становится:

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

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

29 голосов
/ 10 ноября 2009

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

6 голосов
/ 07 января 2010

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

0 голосов
/ 12 мая 2010

Это не проблема 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.

...