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