Eclipse 3.4 Ganymede JavaScript验证问题

12

我刚刚第二次升级到Eclipse 3.4,现在感觉应该没问题了。第一次(发布时)太有bug了,让我无法忍受(主要是PDT 2.0插件),但现在似乎已经解决了所有问题。

我的问题是Javascript验证器。如果我在项目中的一个JS文件中定义一个类,然后尝试在另一个文件中使用它,它会告诉我该类型未定义。这真的很烦人,因为我的一些脚本都充满了红色的波浪线。

另一个问题是这段代码:

var m_dialogFrame = document.getElementById(m_dialogId);
生成一个黄色的波浪线,提示"类型不匹配:不能将Element转换为___m_dialogBody5"。我可以通过添加...
    /**
     * @type Element
     */

在此之前,但那样做也会很混乱。

另外,两者都:

new XMLHttpRequest();

并且

new ActiveXObject("Microsoft.XMLHTTP");

出现"X 无法解析为类型"的红色波浪线。

最后一个问题出在:

if (m_options.width != "auto")

出现红色波浪线,原因是:"对于参数类型(数字,字符串),运算符!= 未定义"

我该如何解决这些问题,或者干脆放弃整个 JavaScript 验证工具?顺便说一句:如果能让它正常工作,看起来很棒。

7个回答

8

看起来这个问题是因为Eclipse默认浏览器缺少所需的库。

尝试以下步骤添加所需的库: 项目 -> 属性 -> JavaScript -> JavaScript库 -> 库(选项卡) -> 添加运行时库 -> 选择“Internet Explorer库”

这应该解决问题。对我有效。


6

很不幸,您可能只能放弃JavaScript验证。

根据我的经验,捆绑在Eclipse 3.4中的JavaScript工具很难...呃,理解JavaScript,从而生成虚假的警告和错误。

例如,使用Object作为简单的命名空间的常见做法会导致它完全丢失。在尝试解析此JavaScript文件时,这里是其产生的一种混乱情况的截图 - 请注意无用的大纲视图和虚假(及不正确的)警告和错误(包括似乎不理解String.split返回一个Array)。


窗口 -> 首选项 -> 验证 -> JavaScript 语法验证 - Jonny Buchanan
有其他人在Ganymede中关闭JavaScript验证方面也不成功吗?我已经尝试了上述方法。我还尝试了Window -> Preferences -> Validator -> Errors / Warnings,并忽略了所有内容。但我仍然看到错误。任何帮助将不胜感激。 - Ben
1
您可能还需要进入“项目->属性->JavaScript->JavaScript库”,并在源选项卡中删除您的项目所有条目。 - David Citron

3

这非常痛苦。为了解决我的问题,我采取了一种方法,即从构建中排除所有js文件。在“属性-》JavaScript-》库-》源”选项卡中排除所有导致问题的文件......这很遗憾,因为我想要一些自动完成.... :( 但是需要完成工作项目....如果有人有解决方案,将不胜感激:)


这对我有用。非常感谢。我相信Ganymede是主要问题。 - cgp

2
显然,要完全禁用验证,您还应该在JavaScript ->编辑器下禁用“在键入时报告问题”。

这对我在Eclipse 3.6.2上起了作用。在关闭JS验证后,红线仍然存在。我禁用了“实时报告问题”,发现它们消失了,然后重新启用了“实时报告问题...”,这些线条就一直没出现了。谢谢。 - Cooter

1
我发现旧的验证错误会一直停留在问题视图中并在文件中突出显示,直到你再次告诉它进行验证。因此,在保存了您的JSP验证首选项之后,请右键单击项目以验证其中的所有内容;这将使错误消失。

1

经过数小时的搜索,我终于找到了如何彻底删除JS验证的方法。

这意味着需要编辑您的.project文件,在此之前请务必备份。

  • 关闭Eclipse
  • 打开您的.project文件
  • 查找以下行:<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
  • 删除它
  • 保存您的文件并启动Eclipse

现在不会再有红色或黄色的波浪线出现了...但也没有JS验证了。

如果有人知道如何在不编辑.project文件的情况下正确地完成此操作,请分享一下。


1

用户85835的答案对我有些帮助,但我还需要遵循这两个额外的步骤。

首先,为了真正消除警告和错误并避免它们立即重新创建,请按照以下方式操作:

  1. 在“清理...”窗口中禁用清理后自动立即重建。
  2. 清理项目

然后关闭Eclipse并删除用户85835描述的<nature>org.eclipse.wst.jsdt.core.jsNature</nature>。

但在重新启动Eclipse之前,请执行第二步。

  1. 在您的.project文件中查找包含<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>的<buildCommand> XML块。
  2. 如果找到此内容,请删除此块。

然后保存您的.project文件并重新启动Eclipse。

根据您的愿望恢复清理和重建设置。

这对我起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接