我想提供我个人为什么选择这些编辑器(至少是我熟悉的编辑器)的理由。仅仅说“用这个,用那个”根本没有帮助。在很大程度上,这个问题是错误的。对于某种语言来说,很少有“最好的 IDE”。相反,存在多种环境,每种环境都适合特定的需求。开始:
1) 织梦者
为什么要使用它:它作为设计工具的历史使“非编码人员”类型可以更轻松地开始制作网站。如果您是一个独立开发人员,构建了许多“Tom's Corner Store”类型的网站,即使它们需要一些 CF 编码(邮件列表、订阅者、当前特价商品、轻型内容管理等),其设计工具“模板”功能和易于部署 (ftp) 使其成为一个有吸引力的选择。它为内置 CF 标签和函数提供了足够好的代码着色和代码完成。它可以在同一页面中询问用户定义的函数。它具有出色的 CSS 支持。您还可以找到大量的扩展。它非常稳定,并且根据我的经验,并没有非常“崩溃”。它还将为您生成大量代码(该代码是否“好”是有争议的)。总而言之,Dreamweaver 对于网站设计者来说是一款令人难以置信的软件。
为什么你不使用它:它不是免费的,而且它当然不是“编码器的编辑器”。虽然它提供了扩展,但它们通常以接口为中心(javascript 验证等),这与可以运行所有范围的 Eclipse 插件不同。对于大型项目,它根本不具备许多程序员所期望的代码导航功能。它以网络为中心。因此,如果你是一个多语言者,或者只是喜欢涉足编译语言(java等),那么你需要为这些任务保留另一个编辑器......你将无法做到这一点全部集中在一处。 Dreamweaver 中不存在 ColdFusion 单元测试支持。 ColdFusion 没有步骤调试。
2) CFEclipse 插入 Eclipse。
为什么要使用它:CFEclipse 已经有 6 年历史了,并且已经显着成熟。它在过去几年中一直相当稳定,大多数崩溃都是由于 Eclipse 本身而不是 CFEclipse(早期情况并非如此)。最近,CFEclipse 注入了新鲜血液,并添加了一些功能,以提高其中的编码效率。它包含丰富的键盘快捷键、ColdFusion Studio 时代人们喜爱的许多工具栏功能,以及 Eclipse 的内置代码导航功能(即用于快速查找文件的 Ctrl-Shift-R)。
它具有对原生 CF 标签和函数的内容辅助,以及对页内变量的一些支持,尽管这从来没有那么有效。它不支持页内功能,也不提供本机真正的组件洞察(即洞察您在其他代码中编写和使用的组件)。它将在某种程度上支持字典的组件洞察,但即便如此,它也需要字典创建者做大量的工作。根据我的经验,大多数人发现字典的维护工作太多。
CFEclipse 的最新版本包含您能找到的最佳 CFML 格式。
对我来说,“方法资源管理器”和“片段树视图”——特别是用于插入片段的键盘快捷键——已经极大地提高了生产力。
如果您使用 ColdSpring、ModelGlue、Mach-II、ColdBox 和其他具有 xml 配置文件的框架,CFEclipse 的 Framework Explorer 非常出色。
因为它是 Eclipse 的插件,所以您可以在 Eclipse 中执行您想做的所有其他操作。你想写java代码吗?你可以。您需要网络服务支持吗?你明白了。您想要进行单步调试,可以使用 Adobe 为 Eclipse 提供的免费扩展来实现。
大型插件生态系统是 Eclipse 最具吸引力的功能之一,在决定编辑器时不应忽视这一点。例如,我不想在没有 Mylyn 的情况下工作,它集成了问题跟踪,根据我的经验,它改变了我的工作方式,变得更好。
Eclipse 的版本控制系统支持也非常出色。 Subversion 得到很好的支持;有一个 VSS 插件;最近,一个 git 插件(如果不是两个)已被 Eclipse 基金会接受,因此我们很快就会看到原生 git 支持(您现在可以通过插件获得它)。
Eclipse 的 ANT 支持非常出色。
您可以轻松地将 MXUnit Eclipse 插件插入 Eclipse,以对 CFML 进行单元测试(全面披露:我为 MXUnit 做出了贡献)。
最后,我对 CFEclipse 的工作人员——Denny、Mark、Jim、Peter 等人充满信心。 -- 将继续努力使 CFEclipse 成为最好的开源 CFML IDE。他们是 ColdFusion 社区中一些最聪明的人,并对他们的使命充满热情。如果您选择使用 CFEclipse,您并不是选择使用将被 ColdFusion Builder 取代的 IDE。这个项目得到了良好的管理。
为什么你不使用它:它是一个代码 IDE,而不是像 Dreamweaver 这样的设计工具。它并不完美......代码辅助的建议可能过于激进。 Eclipse 本身,尤其是当您将各种插件堆积起来时,在较小的机器上可能会变得不稳定。最后,不喜欢“项目”世界观的人经常对此有所抱怨,因为他们习惯于直接使用文件系统世界观进行工作。它的部署支持远不如 Dreamweaver 那么简单,尽管您可以找到接近的插件。
3) ColdFusion 生成器
为什么要使用它:我之前所说的关于 Eclipse 本身的所有内容都适用于 CFBuilder(当用作 Eclipse 的插件时)。我无法谈论独立版本,因为在撰写本文时,它仍然不能很好地支持插件。这个问题肯定会在发布时得到解决,但我不想猜测独立版可能会做什么或不会做什么。
CFBuilder 的一大吸引力是“扩展”。这些是将 CFML 代码插入编辑器的方法。这很难描述,所以我建议在谷歌上搜索“ColdFusion Builder Extensions”,您很可能会感到惊讶。 Adobe 的 Terry Ryan 为数据库中的脚手架应用程序创建了“Apptaulous”,而 Brian Rinaldi 则发表了一系列有关构建 CFBuilder 扩展的帖子。这些都是巨大的,并且在 CFBuilder 发布后将证明自己是开发人员最好的朋友。
在我看来,CFBuilder 的部署支持与 Dreamweaver 的部署支持不相上下,甚至更胜一筹。
CFBuilder 不需要额外的插件来进行单步调试。只需点击调试按钮即可开始。
CFBuilder 包含真正的组件洞察力,这意味着它可以内省您编写的组件并提供 ctrl-space 内容帮助。然而,它可能很不稳定,并且确实需要一些配置。但请记住,截至目前,CFBuilder 仍处于测试阶段。我最好的猜测是,在解决该功能的所有问题之前,至少会有几个版本。尽管如此,在您自己的组件上获得内容帮助仍然是一个巨大的生产力和学习助推器。
CFBuilder 提供了一个“服务器”视图来停止/启动您的 CF 服务器。它基于 Aptana 构建,因此包含 Aptana“尾日志”视图,非常适合查看日志文件。就像 CFEclipse 一样,它有一个 Snip 树视图。
CFBuilder“愿景”由 Adobe 的 Adam Lehman 领导。他对 CF 充满热情,并且具有一股自然的力量。由于 Adam 的领导,我对 CFBuilder 抱有很大的希望。
为什么你不使用它:
其一,它不会是免费的。然而,除了 Adobe 之外,没有人知道它的成本是多少。仅“扩展”和部署功能就值得这个价格。时间会证明一切。
因为它是 Adobe 产品,所以我认为可以合理地假设其发布频率将与大多数 Adobe 产品一样频繁,这意味着……不会很频繁。虽然 CFEclipse 最近部署得相当频繁,并且为勇敢者提供了一个“夜间”站点,但 CFBuilder 很可能不会做出这样大胆的事情。 CFEclipse 有能力向公众提供可能不稳定的构建,但使用 CFBuilder 这样做可能不符合 Adobe 的最佳利益。
最后,它仍处于测试阶段,可能一段时间内不会发布。如果您现在得到它并开始使用它,请记住这一点。根据我的经验,调试很不稳定,内容辅助有时有效,有时无效,而且很多人都经历过崩溃。它是免费的测试版软件...一分钱一分货。但要知道,您使用此测试版本的次数越多,特别是如果您通过公共错误数据库提供反馈,如果它为 CFML 提供了最佳的编辑器,我们所有人都会过得更好。
亲自:
在家里,当我做“设计师”工作时,我会使用 Dreamweaver,因为我觉得它的模板将帮助我尽快构建网站。对于需要维护编码和轻松部署的现有副项目,我使用 ColdFusion 构建器。
在工作中,我几乎不做任何设计工作,自 2006 年以来,CFEclipse 一直是我的 IDE。我已经开始大量使用 ColdFusion 构建器,尽管目前我将时间分配在 CFBuilder 和 CFEclipse 之间。原因之一是在撰写本文时,CFEclipse 更加稳定(即它不会崩溃并且我不会丢失工作)。我完全希望 CFBuilder 花钱时稳定性问题能够得到缓解。
CFBuilder 和 CFEclipse 都有公共错误数据库。 CFEclipse 有一个很多人参与的公共邮件列表,如果您有疑问,您会很快得到答案。我还无法评价 CFBuilder 问题得到解答的速度。
最后,对于“编码人员”,我的经验是,一旦您投入时间学习工具和快捷方式,与 Dreamweaver 等设计工具相比,Eclipse 会提供卓越的生产力。对于设计一个网站,像 Dreamweaver 这样的设计工具具有显着的优势。
最佳 ColdFusion IDE 的答案不是一个答案,而是一个问题:“您想用 ColdFusion 做什么?”该问题的答案将引导您找到适合您特定项目需求的 IDE。不同的情况或项目可能会引导您使用更适合您需求的不同工具。