【问题标题】:Perl Editor helper features - go to declaration / go to implementationsPerl 编辑器辅助功能 - 转到声明/转到实现
【发布时间】:2016-08-21 09:12:41
【问题描述】:

我想重构一些我写得很糟糕的本地Perl packages,但是我在散布在目录树中的一堆脚本中调用了它们的子例程。

我需要一个编辑器来允许我跳转到子程序声明并找到实现/用法。

我已经尝试过https://github.com/Camelcade/Perl5-IDEANotepad++ SourceCookiefier

SourceCookiefier 不是真正的解决方案,它找不到实现,您必须手动指定您希望它索引的文件。

另一方面,Perl5-IDEA 似乎更能胜任这项工作,但是当我指定模块的根文件夹时,它会开始索引它找到的所有内容,直到它挂起/内存不足。 除了那些.pl/.pm 脚本之外,我还有很多其他数据文件,我暂时无法将它们与这些目录分开。我需要一个排除类型的过滤器。我在IntelliJ + Perl5-IDEA plugin 中找不到排除过滤器。

那么,您知道我可以使用什么编辑器从go to declaration / go to implementations 中受益,并且能够从指定根目录的子目录导入.pl/.pm 文件吗?

【问题讨论】:

  • 你试过ctags for vim(支持Perl)和/或Perl的模块Perl::Tags吗?
  • 我没有。我在 Windows 上。
  • 我相信所有这些都可以在 Windows 上使用。使用ctags 是一种非常古老、传统(且有效)的方法,可以随心所欲。另一方面,我认为主要的集成环境具有该功能。有没有看Padre,ActiveState 在这方面的表现如何?
  • 我不知道如何在没有额外不需要的东西的情况下安装 Padre。我已经安装了 StrawberryPerl,所以我不需要另一个。 ActiveState 也需要安装它自己的 Perl 风格。在新的 Perl 安装中重新安装我需要的所有 CPAN 模块需要一天的时间。
  • 我没有意识到 Padre for Windows 只是一个大捆绑包。至于 ActiveState,它有一个单独的编辑器,有两个版本,“Komodo Edit”(免费)和“Komodo IDE”。您需要的功能可能不在免费版本中(我不知道),但另一个有 21 天的试用期。这是一个非常好的编辑器。但是,从我的第一条评论来看,ctags-with-gvim 和 Perl 模块肯定可以帮助您。我不知道你选择的编辑器是什么,但 Perl::Tags 似乎不依赖于此..

标签: perl intellij-idea ide editor helpers


【解决方案1】:

日食怎么样?
您可以在单独的选项卡中打开所有模块。如果您想查找子程序的下一个用途,只需选择它的名称并按Ctrl+K。如果您想跳转到当前模块中子程序的说明,只需选择它的名称并按F3。如果它是在另一个模块中定义的,只是Ctrl+H(这将在所有项目模块中搜索给定的名称;提示:如果你想搜索子程序do_something,搜索sub do_something)它会返回你是在其中定义了 soubroutine。
它还为您的 soubroutine 编制索引(单击 soubroutnie 将直接跳转到您的子声明)。
要回答您的评论,是的,您可以添加过滤器以仅选择想要的扩展名。

【讨论】:

  • 我可以给它一个文件夹来搜索.pl/.pm文件并将其余文件排除在索引之外吗?
  • 您可以进入菜单->文件->打开并在出现的窗口中转到所需文件夹并在搜索框中输入*.pm|*.pl。然后选择所有这些并按打开。
  • 我添加了截图
  • 我应该安装哪个版本的 Eclipse?不是有空白版吗?它们都有不同的风格,Java、C、PHP 等。我选择了 PHP 并添加了 EPIC 模块,但菜单仍然与 PHP 相关。
猜你喜欢
  • 1970-01-01
  • 2015-10-05
  • 2018-04-04
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多