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

时间:2009-08-18 05:14:49

标签: eclipse perl ide komodo padre

有些人可能知道我是Padre, the Perl IDE的首席开发人员。在开发的第一年,Padre成为了一个可接受的文本编辑器,为Perl开发提供了一些额外的功能。

我想请求Stack Overflow社区帮助推动该项目进一步将其转变为Perl开发的卓越IDE。所以我很高兴看到你认为什么是仍然缺少Padre的IDE最重要的功能?

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

20 个答案:

答案 0 :(得分:26)

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

实际工作的交互式调试器。例如。记住断点,深入研究复杂数据结构的能力,以及复制(到剪贴板)应该对观察变量起作用 - 包括允许以各种格式放置的菜单命令Copy Special;说CSV,XML或制表符分隔。

答案 1 :(得分:12)

我找到的两个最宝贵的功能:

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

答案 2 :(得分:10)

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

竞争非常容易安装。帕德雷不是。我尝试更新到今天的最新版本,再一次,测试失败了。

答案 3 :(得分:9)

我是一个沉重的Perl EPIC用户,我最大的抱怨不是 能够跳转到明确定义的功能 当前的背景(通常按F3)。很漂亮 在这一点上受到很大的打击。

答案 4 :(得分:5)

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

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

答案 5 :(得分:5)

稳定性。如果他们的编辑崩溃并且他们失去工作,人们会迅速转身。

答案 6 :(得分:4)

我要查找的第一件事是对当前活动文件的某种概述。我希望看到方法/函数,如果可能的话,还有使用模块,特别是任何使用基本语句。

你在Padre解决了这个问题。

答案 7 :(得分:4)

测试集成。

Perl拥有出色的单元测试工具。当我运行我的测试套件并出现故障时,我希望看到测试失败的代码。

有一个很好的方法来跳过测试结果并查看失败测试的代码以及预期和实际结果将是一个很大的好处。

答案 8 :(得分:4)

项目经理。对我来说,能够定义包含特定代码库的文件和文件夹集是至关重要的。会话很有用,但不是替代。

答案 9 :(得分:4)

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

答案 10 :(得分:3)

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

答案 11 :(得分:3)

这个问题似乎比负责任的问题更具争议性。 冒着被指控为版权滥用者的风险,我将在David R. Barstow,Howard E. Shrobe,Erik Sandewall的“交互式编程环境”一书中发布我记得的内容。

它不会完全一样,就像我多年前读过这本书一样,我用其他语言记下来了。

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

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.

答案 12 :(得分:2)

配置和运行外部(命令行)工具的能力。插件很棒,但最终用户不一定只想与外部工具集成。允许用户配置他们自己的工具提供了大量的可扩展性,并且进入门槛最小。

我选择的编辑器是UltraEdit。它不是IDE,但通过对用户工具的支持,我已经能够集成lint,版本控制,调试等IDE功能。

答案 13 :(得分:2)

这可以通过use strict实现;但即使不明确use明确,也可能是一个有价值的特征,即:

前几天我们花了大约10-20分钟调试以下行为:

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带来了适当的Perl类型安全性。

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

答案 14 :(得分:1)

我使用emacs。我想要一个可以帮助我重构代码的系统,特别是当我处理丑陋的1999代码时,它使用了从开始到最后的开始哲学并结合重复和修改。

我查看了Eclipse,但是在我可以对文件进行单字符更正之前,我无法使用需要我创建项目的系统。

我看着帕德雷,但它很慢而且崩溃了。

我看着声称由CSS配置的Kod,但我找不到一个会告诉我把CSS放在哪里的手册页。

答案 15 :(得分:0)

能够创建和调试XS代码。

答案 16 :(得分:0)

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

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

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

当我从一个平台移动到另一个平台时,自动转换所有文件的典型解决方案对我来说效果不佳。

当文件以错误的格式被意外创建时,这可能是一个真正的痛苦。

答案 17 :(得分:0)

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

答案 18 :(得分:0)

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

答案 19 :(得分:0)

集成read-eval-print循环。作为一个沉重的Emacs用户,我非常感谢Sepia。在我提交代码之前尝试解决问题非常有用。