2009-11-09 15 views
31

estoy usando PyDev bajo Eclipse para escribir un código Jython. Tengo numerosos casos en los que tengo que hacer algo como esto:¿Cómo puedo hacer que el editor PyDev ignore selectivamente los errores?

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

El problema es que PyDev siempre marcar esta como un error y decir "no resuelto importación: ISubInterface". El código funciona bien, es sólo que prefiero no tener estos pequeños X-marcas blancas/rojo al lado de mi código y tener mi pestaña Problemas llena de estos errores.

¿Hay alguna manera de que pueda agregar un comentario mágico o algo así al final de la línea para hacer que PyDev ignore el error falso, similar a cómo puede rociar comentarios como "# pylint: disable-msg = E1101" hacer que PyLint ignore los errores?

Además, existe la posibilidad Sólo estoy haciendo mal cuando se trata de utilizar interfaces Java en Jython. En ese caso, sería muy apreciado un poco de orientación.

+0

Puede hacer que Pylint ignore los errores pero el error es de Pydev aquí y no sé cómo suprimir esto. – Mark

Respuesta

53

Puede añadir un comentario

#@UnresolvedImport 
#@UnusedVariable 

Por lo que su importación se convierte en:

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

Eso debería eliminar el error/advertencia. Hay otros comentarios que puede agregar también.

28

añadir el carácter de almohadilla # al final de la línea a continuación, con el cursor en el error marcado, pulse Ctrl-1. Una de las opciones en el menú será algo como @UndefinedVariable. Agregar este comentario hará que PyDev ignore el error.

+0

Esto no parece funcionar, al menos en Eclipse Juno, último PyDev. Autofix muestra la opción para '@ UndefinedVariable', pero elegirlo no tiene ningún efecto. –

+0

(pequeña cosa: Cmd-1 en Mac, y necesita tener el # ya agregado, de lo contrario el @UndefinedVariable aparecerá como una opción pero nunca agregar) –

+0

¡Funciona para mí! ¡Gracias a Dios! Deshizo esos molestos íconos del "paquete roto" cuando cosas como Win-Curses o las variables de Apio añadidas en el tiempo de ejecución –

6

Puede tomar la ignoran al igual que los otros mensajes sugieren, pero el problema real es que PyDev no puede encontrar esa clase ... Si agrega un .jar que contiene esa clase a su PYTHONPATH que debería ser capaz de resolverlo (o si tiene un proyecto Java que tiene esa clase, usted debe ser capaz de marcar ese proyecto como un proyecto PyDev y añadir la carpeta bin a la PYTHONPATH proyecto - en cuyo caso esa clase debe encontrarse también).

-1

No es una cuestión PYTHONPATH. Está relacionado con la importación/uso de miembros internos de clase estáticos de una clase Java. Estoy recibiendo el mismo tipo de cosas en todo el lugar, p. cuando se trata de utilizar constantes en java.awt.Color:

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

No hay manera que he encontrado para importar Color.BLACK en este caso. Gracias a Iceman por al menos señalar la bandera # @ UndefinedVariable. Eso ayuda mucho. Tenga en cuenta también que esto NO es un problema de jython, el código funciona bien. Es solo un problema con PyDev.

+0

Eso se afirmó tanto en la pregunta original: "El problema es que PyDev siempre marcará esto como un error y dirá" Importación no resuelta: ISubInterface ". El código funciona bien" – Pridkett

Cuestiones relacionadas