[Perl::Tidy] 清く正しく美しく

[Perl::Tidy] 清く正しく美しく

こんにちは、NDです。

EclipseでPerlの開発する際に、強力なサポートをしてくれるのがEPIC(Eclipse Perl Integration)プラグインです。

なかでも「Source Formatter」は、ソースコードを美しく整形してくれるので、一日に何度も使用する機能ではないでしょうか。
チームで開発している場合はフォーマットのオプションを統一し、コミット前の整形をルールとしてるところも多いと思います。

今回はそんなフォーマットのオプションについてのTipsです。

改行コードは何にしていますか?

  • ソースコードの改行コードは何ですか?
  • やはり「LF」ですか?
  • 「LF」にしたいがために、プロジェクトの設定で改行コードを「Unix」としていませんか?
  • 改行コードを「Unix」に指定したのに、フォーマットをすると「CR+LF」になってしまうことはありませんか?

ここでハマっている方には、オトクな情報です!

「Source Formatter」の機能はEclipseにもありますが、PerlファイルのフォーマットはEPICプラグインの設定に引きずられます。
そのため、Eclipseの設定で改行コードを指定してもムダです…

EPICプラグイン「Source Formatter」の設定を変えてみましょう!

Preferences >> Perl EPIC >> Editor >> Source Formatter
「Additional PerlTidy Options」に「-ole=unix」を入れます。

これでフォーマットをかけてみてください。
Unixの改行コード「LF」に統一されたかと思います。

Windowsユーザ必見!

おそらくWindowsユーザはフォーマットをかけると、下記のエラーメッセージが出ると思います。

perltidy returned unexpected output via stderr, possibly due to invalid options in Source Formatter preferences:

ignoring -ole; only works under unix

Use formatter’s output anyway?

これはフォーマットをかける際に「Perl::Tidy」というモジュールがお仕事をしてくれていますが、このモジュールが入っていない(もしくは最新ではない)というエラーメッセージです。

ActivePerlを使っている方は、PPM(Perl Package Manager)で「Perl::Tidy」を入れてみましょう。
導入後は問題なくフォーマットがかけられるかと思います。

ソースコードを美しくしてレビューに臨みましょう!

ではでは。