[WSH Panel Mod] Notepad++用ハイライト&入力補完ファイル

概要


foobar2000の WSH Panel Mod のコーディングをNotepad++で行う際に、
特定単語のハイライト表示と入力補完の機能を提供するファイル。JScriptベース。

np++pre.png
プレビュー(クリックで拡大)


内容

・jscript-wshpm_udl.xml
ハイライト表示用ファイル。JavaScriptの一部とWSH Panel Mod の
ほとんどのメソッド及び関数、foobar2000のTitle Formattingの色分け
表示機能を提供します。デフォルトのエディタの色分けと違って、多くの
オブジェクトとメソッドは一体で色分けしています。

・jscript-wshpm.xml
入力補完用ファイル。WSH Panel Mod のほとんどのメソッド及び関数の
入力補完機能を提供します。一部の関数とメソッドにはツールチップで説明が表示されますが、
これは WSH Panel Mod のドキュメントから転載しています。



ダウンロード(Download)


NpWiki++のObtaining files related to user defined languages.の
「J」の項目にある WSH Panel Mod をクリックします。
(これだけJの項目にあるのは、自分が余計な事考えてファイル名と言語名を分けたのが
原因でしょうね。んーどうしよう、そのうち修正されるか削除されるかもしれません)


Download

追記: 9/28
9月28日現在、NpWiki++のページにアクセスしてもリダイレクトで公式トップに飛ばされるようです。
language listだけでなくplugins listなども同様な模様です(ファイル自体は他のUDLを
見る限り生きているようです)。詳細
なので場所を斧に変更。



使用法


1. メインメニューから "言語"->"言語を定義..."を選びます。
2. "インポート..."をクリック。
3. "jscript-wshpm_udl.xml"を選びます。
4. ダイアログを閉じ、Notepad++を終了させます。
5. "jscript-wshpm.xml"をAPIsフォルダにコピーします。 (例 C:\Program Files\notepad++\plugins\APIs).
6. Notepad++を再び立ち上げ、"JScript-WSHPM"を"言語"から選択します。
もし入力補完が機能しない場合は入力補完のオプションを確認し、(設定 -> 環境設定 ->
入力補完-> 入力毎に補完を行う) Notepad++を再起動してください。



動作確認


Notepad++ v6.5.5 (UNICODE版)で確認しています。



謝辞


私のために貴重な時間を割いてくれたNpWiki++のcchris氏に感謝します。
Mr.cchris, thanks for taking the time to help me.


雑感


WSH Panel Mod は プリプロセッサを読み込むことができるため、
自作したり公開されているライブラリを容易に組み込むことが可能です。
で、そのライブラリを書く場合は外部エディタで書く方が動作確認も含めて
使い勝手が良いので自分が使ってるNotepad++用に入力補完などを
エディタに実装させるために書いたものです。

これ書く時に初めてまじめに付属のドキュメント読んで、知った事もいくつかありました。
例えばGdiDrawTextメソッドはVBArrayを返しているため、toArrayメソッドで
JavaScriptの配列としてアクセスして描画範囲とか文字数を知る事ができることとか。

最初にドキュメントくらい読めよって話ですが、使い始めた当時の自分にはJScriptの
知識はおろかプログラミングの基礎知識がなく、日本語の解説サイトもあるわけなく、
何が書いてあるのか翻訳しても全く理解できず、仕方なく一つ一つ関数やプロパティが
どんな動作をするか確かめて覚えていった記憶があります。今でもかなり知識は怪しいですが……

ツールチップに表示される説明はそのドキュメントからの転載ですが、Notepad++の
仕様でどうも登録した入力補完の単語に「.」(ドット)が入っているとツールチップが
表示されないようです。このため説明を登録していない単語が結構あります。
またハイライトに関しても、途中まで全く同じ綴りの単語が別に存在する場合、うまく
表示されないようです。これに関してはキーワードリストを二つの単語で分ける事で
回避できるのですが、そのためキーワードリストのグループが8つうち7つまで
使用しており、これ以上の色分けが困難です。

書いていて気になったのはこれくらいですかねぇ。
ライブラリ作成が遅々として進まないですが、とりあえずこれを活用して
必要なものを作っていきましょうか。


スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する