Affrus:一款Mac OS X Perl集成开发环境
在我上次评估Perl IDE时,ActiveState的Komodo让我几乎信服;唯一的问题是,我使用的是Mac OS X。现在,以苹果脚本工具而闻名的Late Night Software,利用他们的Mac编程经验,创建了Affrus,这是一款适用于Mac的Perl IDE。而且,我离信服更近了。
Affrus与Komodo在几个重要方面有所不同。Komodo将编辑器与Perl解释器紧密耦合,以实现后台语法检查和实时警告高亮显示,而Affrus则采取了一种更为传统、分离的方法:语法检查是按需执行的,错误和警告放置在单独的面板中。喜欢emacs
调试模式的用户将会更喜欢这种方式。
我花了好长时间才发现控制点击的上下文菜单——因为“直观”应用程序的缺点是,我们不再有好的手册来阅读——但当我找到它时,我非常惊讶。在包名上右击正是你想要的效果;它允许你编辑该包的文件,或使用perldoc查看其文档。同样,在内置功能上右击将提供调用该函数的perldoc。
在子程序名称上右击可以让你导航到该例程的定义——甚至能非常出色地推断出该方法将来自哪个类。在变量名称上右击将带你去变量声明的位置。在窗口底部的导航栏上右击将显示程序的“目录”,允许你导航到它使用的任何模块以及定义的任何子程序。然而,如果你在空白处右击,你将得到一个可以插入该位置的变量和子程序名称的列表。在这方面得分很高,而且我在Affrus编辑器上花费的时间越多,就越能发现这样的巧妙之处。
总的来说,尽管Affrus编辑器相对基础。虽然它的语法高亮显示比大多数都要复杂,比如区分包、词法变量和特殊变量,但它不处理代码折叠,也没有“智能”自动缩进。它与原始的emacs
perl-mode
相当。然而,这并不一定是问题,因为Affrus与其他编辑器(如BBEdit和TextWrangler)的集成;此外,Late Night的AppleScript经验使他们能够设计Affrus以使其可扩展和可脚本化。Affrus提供的脚本插件允许它使用perltidy
重新格式化代码,并将控制结构和其他代码片段插入到当前文件中。
除了可脚本化之外,Affrus真正的优点在于其调试控制台;除了通常的调试操作,如单步执行脚本、跳入和跳出子程序、设置断点等之外,它还在每个步骤中都提供了所有变量的详细列表,允许你使用OS X熟悉的展开三角形查看复杂的数据结构。
正如预期的那样,它在调试时自动加载模块和其他外部Perl代码,允许你单步执行它们的代码。你还可以在调试期间更改变量的值,以及在“表达式”面板中输入任意的Perl表达式。
Affrus还提供了一些其他有趣的小功能,例如调试器能够检测并突出显示循环引用,以及捆绑的命令行工具。这个实用程序使您能够在Affrus中调试Perl程序,同时完全控制环境和标准IO重定向——这是基于GUI的调试和复杂Perl程序部署“现实世界”之间的一座重要桥梁。
Affrus有一些我不希望它做的事情,但说实话,它们是我使用Perl的方式的一部分——具有集成调试器和Perl感知编辑器的IDE是创建独立Perl脚本的好环境,在这些脚本中您正在执行一个过程,在关键时刻中断,检查控制流和变量的状态。然而,当您主要在Perl模块和Apache处理程序级别工作的时候,实际上没有真正的顶层“过程”可以单步执行,传统的调试环境就变得不那么有用。
话虽如此,在这样的调试环境中,我很希望看到Affrus有一个Perl调试器面板,在其中可以在调试器运行期间执行Perl代码;检查变量是很好的,但也应该有一种方法来更改它们!我还希望在未来看到其他一些变化,从像颜色方案调色板这样的简单事情——我在运行Affrus时做的第一件事就是花10分钟用它配置成一组在黑色背景上看起来不错的颜色,而不是白色背景!——到与CVS或甚至Apple的Xcode IDE的完全集成。
总的来说,我对Affrus印象深刻,我相信,即使目前它可能不符合您的口味,它也肯定会成长为一个成熟而强大的Mac OS X Perl IDE。
标签
反馈
这篇文章有问题吗?请通过在GitHub上打开一个issue或pull request来帮助我们。