繁体   English   中英

带有代码完成/内容辅助功能的javascript中的命名空间在IDE的支持中

[英]namespaces in javascript with code completion / content assist support in IDE's

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

我们正在前端开发带有HTML / javascript的大型应用程序。 我们要避免使用许多功能使JavaScript环境混乱,因此要为我们的应用程序构建名称空间,我们称其为app。

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

namespace(“ package”)如果退出,则解析该包,如果不存在,则创建该包。

当前的问题是,这种方法有助于我们保持环境的清洁,但使内容辅助变得更加困难(或不可能?)。

关于如何使这种方法与代码完成和内容一起使用有助于日食的想法? 周围是否还有其他IDE可以实现这一目标?

我为这个问题找到了几种解决方案,没有一个能完全满足我的要求,但每个解决方案都有自己的长处。 我看了Aptana插件Visual Web Developer 2010 ExpressWebStorm

日食

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

为了使Aptana插件正常工作,您需要对设置进行一些更改。 在“属性”下,您需要将“项目性质”设置为“ Web”。 其次,您需要编辑“首选项/常规/编辑器/文件关联”,确保将“ JavaScript源代码编辑器”设置为默认值,而不是标准“ JavaScript编辑器”。 重新打开javascript源文件后,就可以开始了:)

Visual Web Developer 2010速成版

实际上,这对于js开发而言相当不错。 不利的一面是,安装此程序将在您的计算机上安装许多您不需要的垃圾,并且永久地需要5次(五次!)重新启动才能安装。 但是一旦准备好开始,它实际上就是在您键入时以伪方式运行您的代码。 实际上,您可以通过智能感知使用所有动态生成的对象,并为它们提供特定的帮助(字符串,数字,对象等)。为了获得如此出色的效果(我想我以前从未将此词与Microsoft产品一起使用过)交叉文件引用中的行为,您将需要在文件顶部应用一些魔术。

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

网络风暴

我没有像其他两种解决方案那样深入了解此解决方案,因为我们需要该产品的商业许可(可提供非商业用途的免费许可)。 看起来您也可以在此IDE中获得可视化Web开发人员的许多可用功能。 实际上,我认为在这三种代码的“代码完成”和“代码辅助”下,此IDE给您带来的收益最多。 我实际上认为您在代码完成下遇到了太多的打击,至少我得到的打击超出了范围,因此使正确使用它变得更加困难。 希望可以对此行为进行调整,以便从IDE获得更准确的支持,但是我没有时间进行进一步的研究。

我们的结论

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM