views:

8192

answers:

6

I just upgraded to Eclipse 3.4 for the second time and I think its for good now. The first time (right when it was released) was too buggy for me to stomach (mainly the PDT 2.0 plug-in); but now it seems to be all worked out.

My problem is the Javascript validator. If I define a class in one JS file in my project, then try to use it in another, it tells me that the type is undefined. This is really annoying as some of my scripts are littered with red squigglys.

Another problem is that this code:

var m_dialogFrame = document.getElementById(m_dialogId);

Makes a yellow squiggle saying "Type mismatch: cannot convert from Element to ___m_dialogBody5" I can fix it by adding

 /**
  * @type Element
  */

Before it, but that, also, will be messy.

Also, both:

new XMLHttpRequest();

And

new ActiveXObject("Microsoft.XMLHTTP");

Get red squiggles saying "x cannot be resolved to a type"

The last problem is with:

if (m_options.width != "auto")

Gets a red squiggly because: "The operator != is undefined for the argument type(s) Number, String"

How can I fix these issues, or just scrap the entire Javascript validation tool? BTW: it looks frikin awesome if I can get it to work.

+5  A: 

Unfortunately, you might just have to scrap the JavaScript validation.

In my experience, the JavaScript tools which come bundled with Eclipse 3.4 have a hard time... well, understanding JavaScript at all, generating bogus warnings and errors as a result.

For example, the common practice of using an Object as a poor man's namespace causes it to get completely lost. Here's a screenshot of the kind of mess it makes when trying to understand this JavaScript file - note the useless outline view and the spurious (and incorrect) warnings and errors (including not seeming to understand than String.split returns an Array).

insin
Could you please tell me how to scrap the validation? I can't figure it out...
nlaq
Window -> Preferences -> Validation -> JavaScript Syntax Validation
insin
Has anyone else been unsuccessful in turning off JavaScript validation in Ganymede?Have tried the above.Have also tried Window -> Preferences -> Validator -> Errors / Warnings, and ignored everything.But I'm still seeing errors. Any help would be appreciated.
You may also have to go to Project->Properties->JavaScript->JavaScript Libraries, Source tab and remove all entries for your project.
David Citron
+1  A: 

Sorry to add this as answer, but I'm not yet allowed to put in comments:

Same problem here. Turned off JavaScript Validation completely - still showing validation errors. Set validation to Warning - Still showing errors even after a clean. Even a restart of Eclipse in between did not help (which worked for my tomcat installation).

Using WTP 3.0.3 (as suggested at some other forum) and higher causes other problems with my projects (Facet Java 5.0 not supported by Tomcat 5.5 - funny, up to WTP 3.0.3 it did :-( And I have no means of updating to Tomcat 6 - due to restrictions by our hoster.

Currently I just disable type JavaScript Problems and JSP Problems in the Problems filter view for errors and warnings (DropDown Menu - Configure Content | Types). Not a final solution, but it keeps me from getting really annoyed with Ganymede / WTP.

+1  A: 

After hours of looking around I have found how to definetly remove JS validation.

This means editing your .project file, so back it up before just in case.

  • Close Eclipse
  • Open your .project file
  • look for the following line : <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
  • delete it
  • save your file and start Eclipse

There no more red or yellow squibble all over the place... but no more js validation.

If anyone knows how to do it properly without editing .project file please share.

A: 

Apparently to fully disable the validation you should also disable "Report problems as you type" under JavaScript -> Editor.

Sorin Mocanu
+3  A: 

Looks like this problem is due to the default browser for Eclipse not having the required libraries.

Try below steps to add the required library: Project -> Properties -> JavaScript -> JavaScript Libraries -> Libraries(tab) -> Add Runtime Library -> select 'Internet Explorer Library'

This should resolve the issue. It did for me.

Krishna
A: 

This is very painful. One way to solve the problem for me was to exclude all the js files from the build. Properties->javascript->Libraries->Source tab and exclude all the files that give you problems....its a pitty because I wanted some autocomplete.... : ( but need to finish the project for work.... If somebody has a solution it would be highly appreciated : )

cpg