EmEditor で Perl のスクリプトを整形する

整形されていない Perlスクリプトを見たりするとイライラする。例えば Eclipse なら Ctrl+Shift+F でパッと整形してくれて便利なので、EmEditor でも簡単なマクロを作ってそれを実現してみる。

試した環境

  • EmEditor Pro 32bit ver10.0.8 - フリーはマクロが設定できないからダメ
  • ActivePerl (v5.10.1) - PerlScript でマクロを記述してるから ActivePerl が必要
  • Perl::Tidy モジュール - なければ PPM でインストールする
  • Windows Vista HomePre 32bit - XP,7 でも大差ないと思う

やり方

  1. 以下を適当な名前で適当なところに保存する。仮に C:\Users\USERNAME\Documents\Macros\Format.pl とする。
    #language = "PerlScript"

    use strict;
    use Perl::Tidy;
    our $Window;

    if ( $Window->document->ConfigName eq 'Perl' ) {
    my $selection = $Window->document->selection;
    $selection->SelectAll;
    my $source = $selection->Text;
    my @dest;
    perltidy( source => \$source, destination => \@dest );
    $selection->DestructiveInsert( join( '', @dest ) );
    }

  2. EmEditor のメニューから マクロ->選択 で今作成したファイルを選択する。
  3. ツールバーにマクロツールバーがなかったら、ツールバーを右クリックしてマクロツールバーをチェックして表示する。
  4. これで Perlスクリプトを編集しているとき、マクロツールバーの Format ボタンを押せば整形される。
  5. キーボードショートカットの登録は、Perlの設定->キーボード からできる。
けど、改善の余地はたくさんある。。。

追記:同様のことを既に書いている方がいた。
http://shin-yuan.blogspot.com/2011/05/emeditorperltidy.html