Eclipse 3.4 Ganymede Javascript Validation Issue

Je viens de passer à Eclipse 3.4 pour la deuxième fois et je pense que c'est bon pour le moment. La première fois (juste quand il a été publié) était trop buggy pour moi à l'estomac (principalement le plug-in PDT 2.0); Mais maintenant, il semble que tout soit réglé.

Mon problème est le validateur Javascript. Si je définis une classe dans un fichier JS dans mon projet, puis je tente de l'utiliser dans un autre, il me dit que le type est indéfini. C'est vraiment ennuyeux car certains de mes scripts sont regorgeés de squiggly rouge.

Un autre problème est que ce code:

var m_dialogFrame = document.getElementById(m_dialogId); 

Donne un squiggle jaune en disant "Type incompatibilité: impossible de convertir de Element à ___m_dialogBody5" Je peux le réparer en ajoutant

  /** * @type Element */ 

Avant cela, mais cela, aussi, sera désordonné.

Aussi, les deux:

 new XMLHttpRequest(); 

Et

 new ActiveXObject("Microsoft.XMLHTTP"); 

Obtenir des squiggles rouges disant "x ne peut pas être résolu à un type"

Le dernier problème concerne:

Si (m_options.width! = "Auto")

Obtient un rouge squiggly parce que: "L'opérateur! = Est indéfini pour le (s) type (s) d'argument Numéro, String"

Comment puis-je résoudre ces problèmes, ou tout simplement supprimer tout l'outil de validation de Javascript? BTW: ça me paraît génial si je peux le faire fonctionner.

On dirait que ce problème est dû au navigateur par défaut pour Eclipse n'ayant pas les bibliothèques requises.

Essayez les étapes ci-dessous pour ajouter la bibliothèque requise: Projet -> Propriétés -> JavaScript -> Bibliothèques JavaScript -> Bibliothèques (onglet) -> Ajouter une bibliothèque d'exécution -> sélectionnez 'Bibliothèque Internet Explorer'

Cela devrait résoudre le problème. Il l'a fait pour moi.

Malheureusement, vous devrez simplement supprimer la validation JavaScript.

D'après mon expérience, les outils JavaScript qui sont livrés avec Eclipse 3.4 ont de la difficulté … eh bien, la compréhension du JavaScript, générant des avertissements et des erreurs fausses.

Par exemple, la pratique courante consistant à utiliser un Object comme un espace de nommage d'un homme pauvre l'oblige à se perdre complètement. Voici une capture d'écran du genre de gâchis qu'il fait lors de la tentative de compréhension de ce fichier JavaScript : notez la vue String.split inutile et les fausses (et incorrectes) avertissements et erreurs (y compris ne semblant pas comprendre que String.split renvoie une Array ).

C'est très pénible. Une façon de résoudre le problème pour moi était d'exclure tous les fichiers js de la construction. Propriétés-> javascript-> Bibliothèques-> Onglet Source et exclure tous les fichiers qui vous donnent des problèmes …. c'est un problème parce que je voulais un autocomplète ….: (mais j'ai besoin de terminer le projet pour le travail …. Si quelqu'un a une solution, il serait très apprécié:)

Après des heures de réflexion, j'ai trouvé comment supprimer définitivement la validation de JS.

Cela signifie éditer votre fichier .project, afin de le sauvegarder avant, au cas où.

  • Fermer Eclipse
  • Ouvrez votre fichier .project
  • Recherchez la ligne suivante: <nature> org.eclipse.wst.jsdt.core.jsNature </ nature>
  • supprime-le
  • Enregistrez votre fichier et démarrez Eclipse

Il n'y a plus de squibble rouge ou jaune partout … mais pas plus de validation js.

Si quelqu'un sait comment le faire correctement sans éditer .project file, partagez.

Apparemment, désactiver complètement la validation, vous devez également désactiver "Signaler les problèmes que vous tapez" sous JavaScript -> Éditeur.

J'ai constaté que d'anciennes erreurs de validation resteraient dans la vue des problèmes et mises en surbrillance dans les fichiers jusqu'à ce que vous leur disiez de valider à nouveau, donc après avoir enregistré vos préférences de validation JSP, cliquez avec le bouton droit de la souris sur un projet pour valider tout ce qui s'y trouve; Cela va faire disparaître les erreurs.

La réponse de user85835 m'a aidé un peu mais j'ai dû suivre ces deux étapes supplémentaires.

Tout d'abord pour supprimer réellement les avertissements et les erreurs et éviter de les faire recréer immédiatement, procédez comme suit:

  1. Désactivez la reconstruction automatique immédiate après nettoyage qui se fait dans la fenêtre Nettoyer …
  2. Projet propre

Puis fermez Eclipse et supprimez la <nature> org.eclipse.wst.jsdt.core.jsNature </ nature> que user85835 décrit.

Mais avant de redémarrer Eclipse, faites également cette deuxième étape.

  1. Dans votre fichier .project, recherchez un bloc XML <buildCommand> contenant un <nom> org.eclipse.wst.jsdt.core.javascriptValidator </ name>.
  2. Si vous trouvez ceci, supprimez ce bloc aussi.

Enregistrez ensuite votre fichier .project et démarrez Eclipse à nouveau

Restaurez les paramètres de nettoyage et de reconstruction comme vous le souhaitez.

Cela a fonctionné pour moi.