2008-11-04 13 views
12

Acabo de actualizar a Eclipse 3.4 por segunda vez y creo que es para bien ahora. La primera vez (justo cuando se lanzó) era demasiado problemático para mí para soportar el estómago (principalmente el complemento PDT 2.0); pero ahora parece estar todo resuelto.Eclipse 3.4 Ganymede Javascript Validation Issue

Mi problema es el validador de Javascript. Si defino una clase en un archivo JS en mi proyecto, y luego trato de usarlo en otro, me dice que el tipo no está definido. Esto es realmente molesto ya que algunos de mis scripts están llenos de squigglys rojos.

Otro problema es que este código:

var m_dialogFrame = document.getElementById(m_dialogId); 

Hace un garabato amarillo que dice "No coinciden los tipos: no se puede convertir de elemento a ___m_dialogBody5" yo puede fijarlo mediante la adición de

/** 
    * @type Element 
    */ 

Antes de ella, pero eso, también, será desordenado.

Además, ambos:

new XMLHttpRequest(); 

Y

new ActiveXObject("Microsoft.XMLHTTP"); 

Get garabatos rojas diciendo "x no se puede resolver a un tipo"

El último problema es con:

if (m_options.width! = "auto")

Obtiene un rojo ondulante porque: "El operador! = No está definido para el tipo (s) de argumento Número, cadena"

¿Cómo puedo solucionar estos problemas, o simplemente eliminar toda la herramienta de validación de Javascript? Por cierto: parece increíble si logro que funcione.

Respuesta

9

Parece que este problema se debe al navegador predeterminado para que Eclipse no tenga las bibliotecas necesarias.

Pruebe los pasos siguientes para añadir la biblioteca requerida: Proyecto -> Propiedades -> JavaScript -> JavaScript Bibliotecas -> Bibliotecas (ficha) -> Añadir biblioteca de ejecución -> seleccione 'Internet Explorador de bibliotecas'

Esto debería Resuelve este problema. Lo hizo por mi

7

Desafortunadamente, puede que tenga que desechar la validación de JavaScript.

En mi experiencia, las herramientas de JavaScript que vienen incluidas con Eclipse 3.4 tienen dificultades ... bueno, entendiendo JavaScript en general, generando falsas advertencias y errores como resultado.

Por ejemplo, la práctica común de usar un Object como espacio de nombres de un pobre hace que se pierda por completo. Aquí está a screenshot of the kind of mess it makes al tratar de comprender this JavaScript file - tenga en cuenta la vista de esquema inútil y las advertencias y errores espurios (e incorrectos) (incluido el que parece no comprender que String.split devuelve un Array).

+1

¿Podría decirme cómo eliminar la validación? No puedo resolverlo ... – nlaq

+0

Ventana -> Preferencias -> Validación -> Validación de la sintaxis de JavaScript –

+0

¿Alguien más ha fracasado al desactivar la validación de JavaScript en Ganymede? Han intentado lo de arriba. También han intentado Window -> Preferences -> Validator -> Errors/Warnings, e ignoraron todo. Pero sigo viendo errores. Cualquier ayuda sería apreciada. – Ben

2

Después de horas de mirar alrededor, he encontrado cómo eliminar definitivamente la validación de JS.

Esto significa editar su archivo .project, así que haga una copia de seguridad antes por si acaso.

  • Cerrar Eclipse
  • abrir su archivo .project
  • busque la línea siguiente: <naturaleza> org.eclipse.wst.jsdt.core.jsNature </naturaleza >
  • eliminarlo
  • guardar el archivo y empezar Eclipse

No hay más rojo o amarillo squibble por todo el lugar ... pero no más de validación js.

Si alguien sabe cómo hacerlo correctamente sin editar el archivo .project, comparta.

2

Aparentemente para deshabilitar completamente la validación, también debe deshabilitar "Informar problemas mientras escribe" en JavaScript -> Editor.

+0

Esto lo hizo por mí en Eclipse 3.6.2. Después de activar la validación de JS, las líneas rojas seguían allí. Inhabilité "Informar problemas mientras escribes", vi que se habían ido, luego volví a habilitar "Informar problemas ..." y las líneas se mantuvieron alejadas. Gracias. – Cooter

3

Esto es muy doloroso. Una forma de resolver el problema para mí fue excluir todos los archivos js de la compilación. Propiedades-> javascript-> Bibliotecas-> pestaña Origen y excluye todos los archivos que le dan problemas ... es una pena porque quería un autocompletar ....: (pero necesito terminar el proyecto para el trabajo ... Si alguien tiene una solución, sería muy apreciada:)

+0

Esto lo hizo por mí. Gracias 1000x. Ganimedes es el problema principal aquí, creo. – cgp

+0

y parece ser el mismo en la versión de Indigo .. – Juri

1

Encontré que los viejos errores de validación se quedarán en la vista de problemas y se resaltarán en los archivos hasta después de que se lo confirme nuevamente, así que después de guardar su validación JSP preferencias, haga clic derecho en un proyecto para validar todo lo que contiene; eso hará que los errores desaparezcan.

1

La respuesta de user85835 me ayudó un poco, pero también necesitaba seguir estos dos pasos adicionales.

En primer lugar el fin de eliminar realmente los avisos y errores y evitar tener que hacer inmediatamente recreado como esto:

  1. desactivación automática de la ventana inmediata reconstrucción después de la limpieza que se realiza en la limpieza ....
  2. proyecto de limpieza

A continuación, cierre Eclipse y retire la naturaleza < > org.eclipse.wst.jsdt.core.jsNature </naturaleza > como user85835 describe.

Pero antes de reiniciar Eclipse también haga este segundo paso.

  1. En su aspecto .project archivo XML para un bloque <buildCommand> que contiene un nombre < > org.eclipse.wst.jsdt.core.javascriptValidator </Nombre >.
  2. Si encuentra esto, elimine este bloque también.

A continuación, guarde su.proyecto de archivo e inicie Eclipse nuevamente

Restaure las configuraciones de limpieza y reconstrucción como desee.

Esto funcionó para mí.