Eclipse HTML5项目 - JavaScript代码辅助仅适用于某些情况

时间:2014-07-25 06:45:36

标签: javascript eclipse code-assist web-project

我正在使用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中获得以下消息弹出窗口:

无默认提案

No Default Proposals

没有模板建议

No Template Proposals

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

var iconData = new IconData();

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

Code Assist Working

我的问题是,为什么代码没有帮助在第一个场景中工作,但它在第二个场景中有效?

谢谢。

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

1 个答案:

答案 0 :(得分:1)

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

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

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

Completion with tern.java

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