36

你们中的一些人可能知道我是Padre,Perl IDE的首席开发人员。在其开发的第一年,Padre 成为了一个可接受的文本编辑器,它具有一些用于 Perl 开发的额外功能。

我想向 Stack Overflow 社区寻求一些帮助,以进一步推动该项目,使其成为 Perl 开发的卓越 IDE。因此,我很高兴阅读您认为 Padre 中仍然缺少的 IDE 最重要的功能是什么?

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

4

20 回答 20

26

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

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

于 2009-08-18T06:04:29.197 回答
12

我发现的两个最宝贵的功能:

  • 逐行调试,观察点,断点等等,所以我可以正确调试我的代码。
  • 代码完成,所以我不必去查找文档(甚至在线)。
于 2009-08-18T05:23:50.137 回答
10

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

比赛很容易安装。帕德里不是。我今天尝试更新到最新版本,但测试再次失败。

于 2009-08-18T19:31:09.483 回答
9

我是一个重度 Perl EPIC用户,我最大的抱怨是无法跳转到在当前上下文中明确定义的函数(通常通过按 F3)。在这一点上,它几乎是命中注定的。

于 2009-08-18T06:21:13.330 回答
5

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

  1. 一个好的调试器。断点,监视列表,你需要的一切。
  2. 远程调试。线程调试能力。
  3. 语法高亮包括加权字体(我对 Oxygen 非常失望,例如,XSLT IDE,我不能使用粗体字体来强调保留条款)
  4. 语法完成。
  5. 项目管理工具,最好通过插件扩展。
于 2010-02-12T15:40:56.193 回答
5

稳定。如果他们的编辑器崩溃并且他们丢失了他们的工作,人们会很快转身离开。

于 2009-08-18T23:10:09.493 回答
4

测试集成。

Perl 有很棒的单元测试工具。当我运行我的测试套件并失败时,我想查看失败的测试代码。

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

于 2009-08-19T08:27:38.187 回答
4

良好的 VCS 集成。这是我在 Eclipse 中绝对喜欢的东西:您可以立即看到哪些文件有本地更改,哪些还没有添加到存储库中。您可以浏览不同的版本,只需单击鼠标即可获得漂亮的差异视图。

于 2009-08-18T08:18:30.083 回答
4

我要查找的第一件事是对当前活动文件的某种概述。我想看看方法/函数,如果可能的话,还想看看使用的模块,尤其是任何 use base 语句。

你在 Padre 中很好地解决了这个问题。

于 2009-08-18T05:51:40.223 回答
4

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

于 2009-08-18T17:00:57.680 回答
3

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

于 2009-08-18T07:52:41.477 回答
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
    + Inertia 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.
于 2011-05-03T21:26:16.417 回答
2

这可以通过use strict; 但即使没有use明确表示,也可能是一个有价值的功能,即:

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

my %hash;

$hash->{'key1'} = value1;

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

resume:IDE 引入的适当的 Perl 类型安全性。

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

于 2009-08-18T09:48:53.567 回答
2

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

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

于 2009-08-18T17:12:03.023 回答
1

我用emacs。我想要一个可以帮助我重构代码的系统,尤其是当我正在编写丑陋的 1999 年代码时,该代码使用了 begin-at-the-beginning-go-to-the-end 哲学并结合了复制和修改。

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

我看着 Padre,但它很慢而且会崩溃。

我查看了声称由 CSS 配置的 Kod,但我找不到可以告诉我将 CSS 放在哪里的手册页。

于 2011-02-24T04:18:02.530 回答
0

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

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

我在 Unix 和 Win32 环境之间来回转换的东西上做了很多工作。

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

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

于 2009-08-19T08:23:19.193 回答
0

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

于 2009-08-18T07:40:55.027 回答
0

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

于 2010-02-09T17:42:20.170 回答
0

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

于 2010-02-09T17:57:53.590 回答
0

能够创建和调试 XS 代码。

于 2009-08-19T07:25:02.977 回答