2011年8月19日金曜日

notepad++ : Function List の python の parsing rule をカスタマイズする。

皆さんは、Windowsでのテキストエディタは何を使ってるでしょうか。

自分は、いつかはバリバリのemacs使いになりたいなぁ、と思いながら、

notepad++ & xkeymacs

の組み合わせがお気に入りで常用しています。

notepad++の "Smart HighLighting" という、選択した単語と同じ文字列を自動でハイライトしてくれる機能が特にお気に入りです。


そして、notepad++の便利なプラグインに、"Function List" というものがあります。

その名の通り、関数リストを表示してくれる、というものです。

今回はこれをカスタマイズしよう、というお話です。


そもそもなぜカスタマイズしようと思ったかというと、関数の表示具合が自分好みじゃなかったから。
表示してくれるは表示してくれるのだけど、Class とか関係なく”ぶわっ”と一緒くたに表示されるから分かりづらくて、、、。

なので、Class毎に関数を表示してくれるようにカスタマイズしました。


notepad++は日本語化バージョンとか色々あるみたいなので、一応、バージョンを記載しておくと、

Notepad++ v5.8.7-6 (UNICODE) です。

Function List の方は、v2.1 です。

Function List それ自体のインストールは、notepad++ についてる、Plugin Manager では表示されないので、

http://sourceforge.net/projects/npp-plugins/files/Function%20List/

からダウンロードして、指示に従って導入しました。


で、Function List の解析ルールのカスタマイズですが、
完全に、こちらのblogを参考にさせて頂きました。


メニューバーの、 プラグイン>Function List>Language Parsing Rules を開く。

次に、右側の言語一覧より Python を選択。

デフォルトで DEFINE という Group が定義されているので、それをまずは Delete。

そして、次に、新しいグループを作るので、Add をクリック。

すると、、、

おぉ、、、強制終了。。orz

急になんだよー、と思いつつ再度実施してみると、、、

おぉ、、、強制終了。。orz

その後何度やっても、、、

おぉ、、、強制終了。。orz

結果は変わらず。


え、、、まじっすか、、これじゃカスタマイズできないじゃん!

一瞬諦めかけましたが、Function List をインストールした時に、FunctionListRules.xml というのを配置したことを思い出し、
「あ、じゃあこれ直接書き換えちゃえばいいんだ…」
ということで、このxmlファイルのpythonの部分を下記のように書き換えました。


    
    
        
    
    
        
    
    
        
    

※なんかbloggerの仕様なのかなんなのかよく分かりませんが、↑のxmlがどうしても"<タグ />の記法を許容してくれず、勝手に<タグ>に変換してくれちゃってます。。お手数ですが、お手元のxmlと微妙に違ったら読みかえてあげてくださいm(__)m

なんだ、意外と簡単、、、。
やってることは、グループとして、"Class"、"Function"、"GlobalFunction" の解析ルールを定義して、
"Class" のサブグループとして、"Function" を指定しているだけです。

さ、これで、notepad++ を再起動してみると、、、

お~、想定通り!

こんな↓感じ~。


これでまた1つ快適になったぜー。

そしてemacsが遠のいたかな~、、、


っていうお話でした。

おしまい。





0 件のコメント:

コメントを投稿