【问题标题】:How to format perl code?如何格式化perl代码?
【发布时间】:2011-04-13 01:28:39
【问题描述】:

我真的很喜欢我的 Perl 代码格式化 - 行缩进等。问题是我讨厌自己做,我真的很喜欢自动为你做这些的自动格式化程序。

我使用 Eclipse,而 EPIC 插件就是这样做的。问题是它不能很好地处理 cmets。如果 cmets 太长,它不会将它们分成多行,而只是将它们移到行首,因此缩进根本不对。

此外,它保留了大约 80 个字符的代码行,这有时会使事情变得难看。从我上学的时候起,我就记得排长队不好,但现在我想知道是否最好保持原样排长队。

你说什么?关于如何在 Eclipse(或一般)下格式化我的 Perl 代码的任何建议?

更新

Eclipse 的 EPIC 插件也使用 perl tidy。关于如何使 perl tidy 打破长代码行的任何想法,但如果它不能(例如长字符串)仍然正常缩进它们并允许它们更长(而不是像默认那样将它们一直缩进到左边?

【问题讨论】:

  • re: 80 chars line - 我的目标是让我的代码保持在 80 个字符以下,但如果我的 IDE 强制执行它,我会发疯的! (TextMate 和 VIM 有可选的自动换行......但我已经关闭了这些)。
  • Re: Perl::Tidy - 如果您设置该选项,则只有可以拆分的行会被破坏。例如,长字符串常量和 cmets 不会分开,但可能会突出。 Perl::Tidy 重新格式化您的代码,它不会添加(非空白)代码。分解这些东西需要额外的代码。
  • RE: 80 行,80 行有什么特别之处的唯一原因是 IBM 纸质穿孔卡片有 80 行。为什么有人会想被俘虏,因为这种愚蠢和武断的限制超出了我的范围。我也不会用马车鞭子鞭打我的跑车,让它跑得更快!!!

标签: eclipse perl code-formatting


【解决方案1】:

如其他答案所述,Eclipse/EPIC 源格式化程序使用Perl::Tidy。参考 EPIC 指南和 Perl::Tidy 指南。

http://www.epic-ide.org/guide/ch02s04.php http://perltidy.sourceforge.net/perltidy.html#formatting_options

或者简而言之,在 EPIC 源格式首选项中,使用 -l 132 将行长更改为 132。

【讨论】:

  • 这就是答案!
  • 感谢使用 -l 132 的提示。这才是真正的答案!
【解决方案2】:

看起来 Eclipse/EPIC 实际上使用 Perl::Tidy 作为其源格式化程序。 Perl::Tidy 非常灵活,因此您可能只需要查看文档并按照您想要的方式设置选项。

设置这些选项的 EPIC 指南:http://www.epic-ide.org/guide/ch02s04.php

【讨论】:

  • 实际上,它不支持我自己的格式样式:缺少一个功能。但我还是用它。
【解决方案3】:

对于非 IDE 解决方案,请查看 Perl::Tidy

这个模块擅长将你的 Perl 代码美化成你喜欢的任何风格。但是不确定它是否有很长的行/评论修复程序? (免责声明:我不使用Perl::Tidy,因为我对TextMateVi(m) 处理我的Perl 代码的方式很满意。

如需替代 IDE 解决方案,请查看PadrePerl 应用程序开发和重构环境

Padre 是自托管(即用 Perl5 编写)、跨平台(使用 wxWidgets 用于 GUI)并与 Perl5 和 Perl6 (rakudo) 一起使用。

这里有一些视频:

/I3az/

【讨论】:

  • 我在 Padre 中没有找到 Format Source 功能。
  • @JirongHu 恐怕我无法帮助你,因为我没有在当前机器上安装 Padre。
猜你喜欢
  • 2016-07-04
  • 2013-09-09
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2013-05-23
  • 2016-08-20
  • 1970-01-01
  • 2011-08-13
相关资源
最近更新 更多