2009-11-09 9 views
31

Używam PyDev pod Eclipse do napisania kodu Jython. Mam liczne przypadki, gdy trzeba zrobić coś takiego:Jak mogę, aby edytor PyDev wybiórczo ignorował błędy?

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

Problemem jest to, że PyDev zawsze flaga to jako błąd i powiedzieć „nierozwiązanych importowania: ISubInterface”. Kod działa dobrze, po prostu wolałbym nie mieć tych małych białych/czerwonych znaków X obok mojego kodu i mieć problem z tymi problemami.

Czy istnieje sposób dodania magicznego komentarza lub czegoś podobnego na końcu linii, aby PyDev zignorował fałszywy błąd, podobnie jak można posypać komentarze takie jak "# pylint: disable-msg = E1101" aby PyLint zignorował błędy?

Ponadto istnieje możliwość, że robię to źle, jeśli chodzi o używanie interfejsów Java w Jython. W takim przypadku bardzo cenne byłoby trochę wskazówek.

+0

Możesz spowodować, że Pylint zignoruje błędy, ale błąd pochodzi od Pydeva i nie wiem, jak to powstrzymać. – Mark

Odpowiedz

53

Możesz dodać komentarz

#@UnresolvedImport 
#@UnusedVariable 

Więc import postać:

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

To powinno usunąć błąd/ostrzeżenie. Są też inne komentarze, które możesz dodać.

28

Dodaj znak krzyżyka # na końcu linii, a następnie kursor na oznaczonym błędzie, naciśnij Ctrl-1. Jedną z opcji w menu będzie coś w rodzaju @UndefinedVariable. Dodanie tego komentarza spowoduje, że PyDev zignoruje błąd.

+0

To nie działa, przynajmniej w Eclipse Juno, najnowszym PyDev. Autofix pokazuje opcję '@ UndefinedVariable', ale wybranie jej nie ma żadnego efektu. –

+0

(mała rzecz: Cmd-1 na Macu i musisz mieć # już dodane, inaczej @UndefinedVariable pojawi się jako opcja, ale nigdy nie doda) –

+0

Działa dla mnie! Dzięki Bogu! Pozbyłem się tych irytujących ikon "zepsutego pakietu", gdy rzeczy takie jak win-curses lub Seler dodały zmienne w środowisku wykonawczym –

6

Możesz zignorować tak, jak sugerują inne posty, ale prawdziwym problemem jest to, że Pydev nie może znaleźć tej klasy ... Jeśli dodasz .jar, który zawiera tę klasę do PYTHONPATH, powinien być w stanie ją rozwiązać (lub jeśli masz projekt Java, który ma tę klasę, powinieneś być w stanie oznaczyć ten projekt jako projekt Pydev i dodać jego folder bin do projektu PYTHONPATH - w takim przypadku klasa ta również powinna być znaleziona).

-1

To nie jest problem PYTHONPATH. Jest to związane z importowaniem/używaniem statycznych wewnętrznych elementów klasy Java. Dostaję to samo w każdym miejscu, np. podczas próby użycia stałych w java.awt.Color:

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

Nie ma sposobu Znalazłem importować Color.BLACK w tym przypadku. Dzięki icemanowi za wskazanie przynajmniej flagi # @ UndefinedVariable. To bardzo pomaga. Zauważ też, że to NIE jest problem z jythonem, kod działa dobrze. To tylko kwestia PyDev.

+0

Zostało to powiedziane w oryginalnym pytaniu: "Problem polega na tym, że PyDev będzie zawsze oznaczał to jako błąd i mówi" Nieusunięty import: ISubInterface ". Kod działa dobrze" – Pridkett

Powiązane problemy