用于 Perl 开发的 IDE 最重要的功能是什么?

发布于 2024-08-02 17:22:34 字数 1431 浏览 9 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(20

心奴独伤 2024-08-09 17:22:35

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

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

I work with Komodo. I also use other editors but I come back to Komodo most of the time. A good IDE shoud have:

  1. A good Debugger. Breakpoints, watch lists, everything you need.
  2. Remote debugging. Threads debugging capability.
  3. Syntax highlighting including weighted fonts as well ( I was pretty disappointed by Oxygen, for example, an XSLT IDE, where I can not use bold fonts to emphasize reserved terms)
  4. Syntax completion.
  5. Project management tools, preferable extendable by plugins.
行雁书 2024-08-09 17:22:35

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

Good VCS integration. This is something that I absolutely love in Eclipse: You instantly see what files have local changes and which aren't added to the repository yet. And you get to browse the different versions and have a nice diff view just one mouse click away.

红衣飘飘貌似仙 2024-08-09 17:22:35

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

A project manager. It's essential for me to be able to define the set of files and folders that comprise a particular codebase. Sessions are useful but not a replacement.

一向肩并 2024-08-09 17:22:35

测试集成。

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

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

Testing integration.

Perl has great unit testing tools. When I run my test suite and get a failure, I want to see the code for the test that failed.

Having a good way to jump through test results and see the code for the failed test along with the expected and actual results would be a great boon.

夏夜暖风 2024-08-09 17:22:35

我首先寻找的是当前活动文件的某种概述。我想查看方法/函数,如果可能的话,查看使用的模块,尤其是任何 use 基本语句。

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

The first thing I look for is some kind of overview of the currently active file. I'd like to see methods/functions and, if possible, the used modules and especially any use base statements.

You solved that pretty well in Padre.

千寻… 2024-08-09 17:22:35

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

Visual-Studio style refactoring for variables and function names and extraction of functions.
Visual studio searches your whole module for all references and allows you to see all changed lines in case you do not want to change one instance (for whatever reason)...

帅冕 2024-08-09 17:22:35

这个问题似乎更具争议性,而不是可以回答。
冒着被指控侵犯版权的风险,我将发布我记得的 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.

The question seems more debatable than answerable.
Risking myself of being accused copyright abuser, I will post contents that I remember from the book "Interactive programming environments" by David R. Barstow, Howard E. Shrobe, Erik Sandewall.

It will not be exactly the same, as I have read the book many years ago and I've jotted down it in another language.

PRINCIPLES OF A GOOD INTERACTIVE PROGRAMMING ENVIRONMENT

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.
榕城若虚 2024-08-09 17:22:35

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

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

The ability to configure and run external (command-line) tools. Plug-ins are great but end-users won't necessarily want to author one just to integrate with an external tool. Allowing users to configure their own tools provides a great deal of extensibility with minimal barriers to entry.

My editor of choice is UltraEdit. It's not an IDE, but through its support for user tools, I've been able to integrate IDE features such as lint, version control, debugging, and more.

独﹏钓一江月 2024-08-09 17:22:35

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

前几天我们花了大约 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 中实现

This can be possibly achieved via use strict; but could be as well a valuable feature even if not use'd explicitly, namely:

the other day we spent about 10-20 minutes debugging the following behavior:

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:
proper Perl type safety brought in by the IDE.

It might be already implemented in Padre, though, as it turned out not in Eclipse+EPIC

鹊巢 2024-08-09 17:22:35

我用的是emacs。我想要一个可以帮助我重构代码的系统,特别是当我正在处理丑陋的 1999 年代码时,该代码使用“从开始到结束”的理念与重复和修改相结合。

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

我看了看 Padre,但它很慢并且崩溃了。

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

I use emacs. I would like a system that helps me refactor code, especially when I'm working on ugly 1999 code that uses the begin-at-the-beginning-go-to-the-end philosophy combined with duplicate-and-modify.

I looked at Eclipse, but I can't work with a system that requires me to create a project before I can make a one-character correction to a file.

I looked at Padre, but it's slow and crashes.

I looked at Kod which claims to be configured by CSS, but I can't find a man page that will tell me where to put the CSS.

拥醉 2024-08-09 17:22:35

集成读取-评估-打印循环。作为一名 Emacs 重度用户,我非常欣赏 Sepia。对于在将事情提交到代码之前进行尝试非常有用。

Integration of a read-eval-print loop. As a heavy Emacs user, I very much appreciate Sepia. Very useful for trying things out before I commit them to code.

莫多说 2024-08-09 17:22:35

能够创建和调试 XS 代码。

Ability to create and debug XS code.

过潦 2024-08-09 17:22:35

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

The ability to use my own choice of editor (which it may have, as far as I know). That has a chance of winning over the vim/emacs people.

(り薆情海 2024-08-09 17:22:35

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

I don't know if Padre can do this, but the ability to split the screen is very important to me. As a VIM user, I constantly split my screen to look at another file while coding.

久伴你 2024-08-09 17:22:35

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

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

我在 Unix 和 Win32 环境之间来回进行了很多工作。

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

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

Line ending policies for files, by directory, and project-wide.

So, for a given project or directory, I'd like to make all line endings be LF only. While in another directory I may wish to have a mix of CRLF and LF files.

I work a lot on stuff that goes back and forth between Unix and Win32 environments.

The typical solution of automatically converting all files back and forth as one moves from platform to platform hasn't worked well for me.

When a file gets created in the wrong format by accident, it can be a real pain.

亽野灬性zι浪 2024-08-09 17:22:34

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

一个真正有效的交互式调试器。例如,记住断点、深入了解复杂数据结构的能力以及复制(到剪贴板)应该适用于监视的变量 - 包括菜单命令“Copy Special”,允许将其放入各种格式;例如 CSV、XML 或制表符分隔。

The most important feature of an IDE for Perl development (including Padre) is:

an interactive debugger that actually works. E.g. remembering breakpoints, ability to drill down into complicated data structures, and copy (to clipboard) should work on watched variables - including a menu command Copy Special that allows putting it in various formats; say CSV, XML or tab-separated.

风蛊 2024-08-09 17:22:34

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

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

The two most invaluable features I find:

  • line-by-line debugging, watchpoints, breakpoints, and so on, so I can properly debug my code.
  • code completion so I don't have to go looking up docs (even online).
他夏了夏天 2024-08-09 17:22:34

好吧,这是我的第三个答案,尽管我不想这么说。

竞争对手的安装非常容易。神父不是。我今天尝试更新到最新版本,但测试再次失败。

OK, here's my third answer, although I hate to say it.

The competition is pretty easy to install. Padre isn't. I tried to update to the latest release today and, once again, got failing tests.

一场春暖 2024-08-09 17:22:34

我是一个 Perl EPIC 用户,我最大的抱怨是无法跳转到一个函数在当前上下文中明确定义(通常通过按 F3)。很漂亮
在这一点上有很多碰运气。

I am a heavy Perl EPIC user and my biggest gripe is not being able to jump to a function that is clearly defined in the current context (usually by pressing F3). It is pretty
much hit or miss at this point.

梦冥 2024-08-09 17:22:34

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

Stability. People turn away quickly if their editor crashes and they lose their work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文