我正在使用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弹出代码辅助并向我展示所有可能性:
我的问题是,为什么代码没有帮助在第一个场景中工作,但它在第二个场景中有效?
谢谢。
P.S。我有谷歌如何在Eclipse中为JavaScript启用代码辅助我发现有几个站点说我需要确保安装了JavaScript开发工具,并且我确保安装了它们,所以我知道这不是问题。
答案 0 :(得分:1)
我认为这是JSDT的一个限制。我建议你安装tern.java扩展JSDT以改进JS完成,超链接,悬停。
将您的JS文件复制到一个文件夹中,将您的项目转换为tern,并使用您的文件夹配置脚本路径。请阅读Getting Started以了解如何操作。
这里是您的案例的屏幕截图(此处 scripts 文件夹配置为脚本路径):
请注意,tern.java是使用Eclipse Luna开发的,所以我建议你使用这个版本而不是Juno。