Perl开发的IDE最重要的特性是什么?

正如你们中的一些人可能知道我是Perl IDE的主要开发人员Padre 。 在开发的第一年,Padre成为了一个可以接受的文本编辑器,并且有一些额外的Perl开发特性。

我想问一下堆栈溢出社区的一些帮助,进一步推动这个项目变成一个特殊的IDE开发Perl。 所以我很高兴看到你认为什么是Padre仍然缺less的IDE最重要的特性?

特别是对于那些目前使用Eclipse + EPIC , Komodo ,Visual Studio或者程序员的任何文本编辑器的人,我会感兴趣的。

用于Perl开发(包括Padre)的IDE最重要的特性是:

一个实际工作的交互式debugging器。 例如,记住断点,深入到复杂的数据结构的能力,以及复制(到剪贴板)应该在监视variables上工作 – 包括一个菜单命令复制特殊,允许以各种格式; 例如CSV,XML或制表符分隔。

我发现两个最宝贵的function:

  • 逐行debugging,观察点,断点等等,所以我可以正确debugging我的代码。
  • 代码完成,所以我不必去查找文档(甚至在线)。

好的,这是我的第三个答案,虽然我讨厌这么说。

竞争非常容易安装。 Padre不是。 我试图在今天更新到最新版本,并再次失败了testing。

我是一个沉重的Perl EPIC用户,我最大的抱怨是无法跳转到在当前上下文中明确定义的function(通常按F3)。 在这一点上,这是相当受打击或错过。

我和科莫多合作 我也使用其他编辑,但我大部分时间回到科莫多。 一个好的IDE应该有:

  1. 一个好的debugging器。 断点,观察名单,你需要的一切。
  2. 远程debugging。 线程debuggingfunction。
  3. 包括加权字体在内的语法突出显示(我对Oxy很失望,例如XSLT IDE,我不能使用粗体字来强调保留字)
  4. 语法完成。
  5. 项目pipe理工具,最好通过插件扩展。

稳定性。 如果他们的编辑崩溃,他们很快就会离开,他们会失去工作。

我首先要看的是对当前活动文件的某种概述。 我想看看方法/函数,如果可能的话,使用模块,特别是任何使用基本语句。

你在Padre解决得很好

良好的VCS集成。 这是我在Eclipse中绝对喜欢的东西:您可以立即查看哪些文件具有本地更改,哪些文件尚未添加到存储库中。 你可以浏览不同的版本,只需点击一下鼠标就可以获得一个很好的差异视图。

项目经理 对我来说,能够定义包含特定代码库的文件和文件夹是非常重要的。 会议是有用的,但不是替代品。

testing集成。

Perl有很棒的unit testing工具。 当我运行我的testing套件,并得到一个失败,我想看到失败的testing代码。

有一个很好的方法来跳过testing结果,看到失败的testing代码以及​​预期的和实际的结果将是一个很大的好处。

Visual-Studio样式重构variables和函数名称以及提取函数。 Visual Studio在整个模块中search所有引用,并允许您在不想更改一个实例(无论出于何种原因)的情况下查看所有更改的行。

这个问题似乎比可以回答更有争议。 冒着被控版权滥用者的罪名,我会从David R. Barstow,Howard E. Shrobe,Erik Sandewall的“交互式编程环境”一书中记下我记得的内容。

它不会像我多年前读过的那本书那样完全一样,而是用另一种语言logging下来。

一个良好的交互式编程环境的原则

1: Know the user + Know the previous knowledge and practice of the user 2: Minimize the memorization + Selection and not characters entering + Names and not numbers + Predictable behavior: the user should have a previous impression of what the system will do + Possible access and changing of the parameters of the system 3: Optimization of operations + Fast execution of common operations + Inercy of visualization: the screen should change the less possible + Memorization of system operation in user,s memory + The meaning of specific operations should have a simple relationship with the state of the system + The system must be prepared to accept more than 10 followed commands per second, so that it can operate on the user,s muscular memory + The system should be prepared to organize the parameters of a command 4: Engineer for the errors + Provide good error messages. + Engineer it to remove away the common errors. + The system should provide reversible actions. + Redundancy: the operations should have more than one way of being done. + Integrity of data structures. 

这可以通过use strict来达到。 但即使不明确use “d”也可能是一个有价值的function,即:

有一天我们花了大概10-20分钟来debugging下面的行为:

 my %hash; $hash->{'key1'} = value1; # on reading in different module print $hash{'key1'}; # is of course empty, but was so easy to overlook in the code above 

简历:由IDE引入的正确的Perltypes安全。

但是,它可能已经在Padre中实现了,因为它不在Eclipse + EPIC中

能够configuration和运行外部(命令行)工具。 插件是好的,但最终用户不一定要创作一个只与外部工具集成。 允许用户configuration他们自己的工具提供了很大的可扩展性,进入的门槛很低。

我select的编辑器是UltraEdit。 这不是一个IDE,但通过对用户工具的支持,我已经能够集成IDEfunction,如lint,版本控制,debugging等等。

我使用emacs。 我想要一个能够帮助我重构代码的系统,特别是当我在使用开始的开始一直到结束的哲学结合重复和修改的丑陋的1999代码的时候。

我查看了Eclipse,但是我无法使用一个需要我创build项目的系统,才能对文件进行单字符更正。

我看着帕德里,但是很慢,崩溃。

我看了Kod声称由CSSconfiguration,但我找不到一个手册页,它会告诉我在哪里放CSS。

集成一个读取评估打印循环。 作为一个沉重的Emacs用户,我非常欣赏Sepia 。 在我将它们提交给代码之前,尝试一下非常有用。

能够创build和debuggingXS代码。

文件,目录和项目范围的行结束策略。

所以,对于给定的项目或目录,我想使所有的行结束都是LF。 而在另一个目录中,我可能希望混合使用CRLF和LF文件。

我在Unix和Win32环境之间来回切换的东西很多。

从平台到平台自动转换所有文件的典型解决scheme对我而言并不适用。

当一个文件被错误的格式创build,这可能是一个真正的痛苦。

我不知道Padre是否可以做到这一点,但是分割屏幕的能力对我来说非常重要。 作为一名VIM用户,我不断将我的屏幕拆分为编码时查看另一个文件。

能够使用我自己的编辑器select(据我所知,它可能有)。 这有机会赢得vim / emacs人。