nDiki : 2011年03月01日

2011年3月1日 (火)

Notepad++perltidy する

やっぱり Perl スクリプトは perltidy をかけておかないと気持ち悪いよね。 Emacs からは perltidy を呼べるように設定済み

基本 Perl スクリプトを書く時は Emacs なのだが、Windows 上でさくっと書く時もある。最近は Windows 上のテキストエディタNotepad++ を使っているので、同様に Notepad++ からも呼べるように設定しておこう。

以下 Notepad++ v5.8.7 (UNICODE)、[全般設定] で言語に日本語を指定してある状態での設定手順。PerlStrawberry Perl で cpanm が入った状態。

perltidyインストール

以下のコマンドで perltidyインストールする。

 cpanm Perl::Tidy

NppExec v0.4.1 をインストール

Notepad++ v5.8.7 に 外部コマンドを実行する NppExec プラグインが入っていなかったのでインストール

NppExec_041_dll_Unicode.zip をダウンロードしてきて展開し c:\Program Files\Notepad++\plugins に NppExec.dll をコピーする。

Notepad++ から perltidy を呼び出せるようにする

Notepad++ を起動し以下の設定を行う。途中 Notepad を再起動するように指定されたら指示に従って起動しなおす。

perltidy 呼び出しを定義
 c:\strawberry\perl\bin\wperl.exe -x -S perltidy --quiet --preserve-line-endings --backup-and-modify-in-place "$(FULL_CURRENT_PATH)"
  1. [プラグイン]-[NppExec]-[Execute]。
  2. 開いたダイアログの Command(s): に上記コマンドを入力。
  3. [Save] ボタンを押す。
  4. Script name: に perltidy と入力して [Save] ボタン。
  5. もう1回 [Save] を押してダイアログを閉じる。
[マクロ] メニューに登録する
  1. [プラグイン]-[NppExec]-[Advancecd Options]。
  2. 開いたダイアログの Item name: に perltidy と入力。
  3. Associated script: で perltidy を選択。
  4. [Add/Modify] を押す。Menu items に perltidy :: perltidy が追加される。
  5. [Place to Macros submenu] にチェック。

これで [マクロ]-[perltidy] と指定できるようになる。

.perltidyrc を置く

お気に入りの .perltidyrc (perltidy.ini でも OK)を

 perltidy -dpro

で表示されるディレクトリのどこかに置くか、置き場所を PERLTIDY 環境変数に設定しておくか、コマンドラインオプションに -pro=filename という形で指定しておく。

Naney の .perltidyrc はこんな感じ

実行する

適当に Perl スクリプトファイルを開いて [マクロ]-[perltidy] を実行。ウィンドウの下部に Console 出力が表示される。 処理が終わったら [ファイル]-[開き直す]をすると整形された Perl スクリプトが表示される。

上記の手順を Notepad++ マクロ化しようとしたんだけれど、これは失敗。

スポンサード リンク

2006年9月11日から使っている perltidy の設定

perltidy の設定ファイル .perltidyrc は以前に載せた後 --vertical-tightness-closing を 2 に変えたあといじってなかった。 こんな感じ。

 # Basic Options
 --maximum-line-length=78       # default is 80
 --indent-columns=2             # (!= perlstyle) default is 4
 --preserve-line-endings

 # Code Indentation Control
 --line-up-parentheses          #
 --nooutdent-long-lines         # default is --outdent-long-lines

 # Whitespace Control
 --paren-tightness=2            # default is 1
 --square-bracket-tightness=2   # default is 1
 --brace-tightness=2            # default is 1
 --nospace-for-semicolon        # default is --space-for-semicolon

 # Line Break Control
 --vertical-tightness=2         # default is 0
 --vertical-tightness-closing=2 # default is 0
 --want-break-before="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
                                # default is ". << >> -> && ||"

 # HTML Options
 -nnn
 --nohtml-entities

その後新しいオプションが増えているのでチェックしなくては。

今日のさえずり: ソフトウェア開発を安直に製造業で例えてはいけないというのを理解して欲しいよね

2011年03月01日

  • 10:46 「『コーディング』『テスト・デバッグ』『(俗に言う)設計』は全て設計の一部である」 / 「ソフトウェア設計とは何か?」がすごい - Lism.in * blog - nekoya (id:studio-m) http://htn.to/jW85Vb
  • 10:51 ソフトウェア開発を安直に製造業で例えてはいけないというのを理解して欲しいよね。
  • 12:02 鼻ムズムズだけれど、ビッグマック食べたい。
  • 12:11 豚生姜焼き弁当 460円。 (@ セブン-イレブン 神田佐久間町店) http://4sq.com/ePIIkG
  • 12:46 hatebte 登録した。 Evernoteメールアドレス以外を設定できればもっと嬉しい(Evernoteメールアドレスはクローズドにして他のアドレスから転送させる形で使っているので)。 http://hatebte.com/ #hatebte
  • 12:52 さっきセブン-イレブンnanacoポイントを電子マネーに交換してきた。100ポイント単位が一番交換手数料的にお得なんだけれど、言われるままについ全ポイント交換してしまった。3月末で失効するポイントがある人多いはずだから、交換を。
  • 12:57 RT @Sora_Sakurai: Twitterにも書いたほうが有意義だと思うので書きます。TwitterBlogなどにMiiを掲載していいかどうか。任天堂知財部曰く「営利目的でなければOK、ただし他人の権利を侵害するものや他人に不快な思いをさせるものは掲載しないでお ...
  • 14:33 年会費3,900円。回数制限が中途半端に設定されていてプレミアム感がない。 / ヨドバシ.com-ゴールドポイントカード・プラス プレミアム http://htn.to/FRKhZT
  • 15:46 アイシングいちごバウムとコーヒー 253円。 (@ ファミリーマート 神田佐久間町店) http://4sq.com/fmRigT
  • 19:34 AndroidSamba。 / details?id=com.funkyfresh.samba http://htn.to/q57bJm
  • 20:34 同じく。 RT @ogaoga: 「こんにちはマイコン」がなかったら、今の自分はないと思う。
  • 21:28ヤマダ電機で鼻栓売ってるらしいよ」ってにすすめられた。
  • 22:35 えきねっと予約った。
[ 3月1日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.049521s / load averages: 0.72, 0.56, 0.42
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker