javascript中的命名空间,IDE中包含代码完成/内容辅助支持

时间:2012-09-12 14:07:00

标签: javascript eclipse ide code-completion

最好的方法是什么?如何让Eclipse在大型javascript应用程序中提供内容辅助/完成。

我们正在开发一个带有HTML / javascript的大型应用程序。我们希望通过许多函数来混淆javascript环境,因此想要为我们的应用程序构建命名空间,让我们称之为app。

为了扩展我们希望能够调用的命名空间 app.namespace(“package”)。function = function(){...}

如果包退出,则

namespace(“package”)解析包,否则解析包。

手头的问题是,这种方法有助于我们保持环境清洁,但是内容辅助更难(或不可能?)

有关如何在eclipse中使用此方法处理代码完成和内容辅助的任何想法? 是否还有其他IDE可以实现这一目标?

1 个答案:

答案 0 :(得分:0)

我为这个问题找到了几个解决方案,它们都没有完全满足我的目标,但每个都有自己的优点。我查看了Aptana pluginVisual Web Developer 2010 ExpressWebStorm

的Eclipse

对于Eclipse,我最终得到了Aptana。此插件比标准的eclips JavaScript透视图具有更强的代码完成支持。为了使我们的解决方案有效,我们必须创建“接口”,发布与实际代码一起提供的内容。我们将这些接口放在一个映射到我们实际代码的文件结构中,并在构建应用程序时将其遗漏。

要让Aptana插件正常工作,您需要对设置进行一些更改。在“属性”下,您需要将“项目性质”设置为“Web”。其次,您需要编辑“首选项/常规/编辑器/文件关联”,确保将“JavaScript源编辑器”设置为默认 NOT 标准“JavaScript编辑器”。重新打开javascript源文件后,您应该准备好了:)

Visual Web Developer 2010 Express

实际上这对于js开发来说非常有用。缺点是安装它会在你的机器上安装很多你不需要的垃圾,而且需要花费很长时间才能安装5(5!)次重启。但是一旦你准备好了,它实际上就是在你键入时伪运行你的代码。实际上,所有动态生成的对象都可以通过intellisense为您提供类型特定的帮助(字符串,数字,对象等)。为了实现这一点(我不认为我之前曾经使用过这个词与Microsoft产品一起)在交叉文件引用中,您需要在文件顶部应用一些魔法。

/// <reference path="path to another js source file you want intellisense for">

WebStorm

我没有像其他两个那样深入研究这个解决方案,因为我们需要这个产品的商业许可证(非商业用途的免费许可证)。看起来您在此IDE中也可以获得可视Web开发人员的许多功能。事实上,我认为这个IDE在三个代码完成和代码辅助下给你最多的点击。我实际上认为你在代码完成时获得了太多的命中,至少我的命中率超出了范围,从而使实际使用更加困难。希望有可能调整此行为,以便您从IDE获得更准确的支持,但我没有时间进一步调查。

我们的结论

就我们而言,我们可能会选择eclipse或Visual Studio的Aptana插件。 Eclipse是我们的默认IDE,我们的组织在我们批准的开发工具系列中使用Visual Studio,但如果我们事先没有任何已经使用的首选选项,我会进一步检查WebStorm。