0

我正在使用 Eclipse Juno 开发一个静态 Web 项目。我的项目使用了几个不同的 JavaScript 文件。其中一个文件包含一个函数:

function IconData(size, url) {
    this.size = size;
    this.url = url;
}

我有另一个返回 IconData 类型对象的函数:

function PageInfo() {
    this.iconData = function() {
        var iconData = new IconData();
        iconData.size = 10;
        iconData.url = "http://somepage.com/image.png";
        return iconData;
    }
}

在另一个 JavaScript 文件中,我创建了一个 PageInfo 实例并调用函数 iconData:

var page = new PageInfo();
// populate stuff
var icon = page.iconData();

如果我输入图标。然后 CTRL+SPACE 启动代码辅助我在 Eclipse 中弹出以下消息:

无默认提案

无默认提案

没有模板提案

没有模板提案

但是,如果我创建一个新的图标数据实例,例如:

var iconData = new IconData();

然后我输入 iconData。然后 CTRL-SPACE 弹出代码辅助并向我展示所有可能性:

代码辅助工作

我的问题是,为什么代码辅助在第一种情况下不起作用,但在第二种情况下起作用?

谢谢你。

PS 我有 Google 如何在 Eclipse 中为 JavaScript 启用代码辅助我发现几个网站说我需要确保我安装了 JavaScript 开发工具,并且我确保我已经安装了它们,所以我知道这不是问题。

4

1 回答 1

1

我认为这是 JSDT 的限制。我建议你安装tern.java扩展 JSDT 以改进 JS 完成、超链接、悬停。

将您的 JS 文件复制到一个文件夹中,将您的项目转换为 tern 并使用您的文件夹配置脚本路径。请阅读入门以了解如何执行此操作。

这是您案例的屏幕截图(此处脚本文件夹配置为脚本路径):

用 tern.java 完成

请注意 tern.java 是用 Eclipse Luna 开发的,所以我建议你使用这个版本而不是 Juno。

于 2014-08-04T07:26:34.453 回答