説明

PPxのカスタマイズ記事を書く上で、どのようにすれば利用者側のカスタマイズ導入の手間を減らせるかというのは悩ましい問題です。 二、三行のマクロならコピペで十分でも、規模が大きくなるとそういうわけにもいきません。 記事に興味を持ってもらっても導入に躓いて諦める人はいるでしょうし、導入できてもメンテナンスの問題があり、 バグ修正や更新のたびに利用者側に手動で対応してもらうのは無理があります。 そういった経緯でppx-plugin-manager(以降ppm)を作っています。 まだベータ版ではありますが自環境ではそこそこ動いているので、簡単な導入方法と使い方を解説します。

動作に必要な条件

PPx UNICODE版・64bit版で動作します。MuiltByte版には対応していません。
PPx Script Module、PPx Key Module、PPx Message Module、正規表現ライブラリbregonig.dll、及びgitのインストールが必要になります。

できること

  • プラグイン(カスタマイズ集)のインストール・アンインストール・アップデート
  • ローカルプラグインの管理
  • ローカル設定ファイルの読込み
  • プラグインの設定
  • プラグイン設定の差分比較
  • PPx設定のバックアップ、読込み
  • PPx初期化状態からのプラグイン設定の復元

できないこと

  • GUIを使った設定
  • PPcust(GUI)などppmコマンド以外での設定変更の読み取り

ppmのインストール・設定

  1. まずどこでも構わないのでppmをダウンロードします。
    git clone https://github.com/tar80/ppm ppm
  2. 次に*script ppm\install.jsを実行します。動作条件を満たしていればインストールが実行され、 必要なファイルが%HOME%\.ppx、または%APPDATA%\ppx-plugin-managerに生成されます。
  3. この時点でいくつかのコマンドが追加されています。*ppmEditを実行するとPPeが起動し ppmの設定を編集できるので、ファイル内の説明書きに従って設定を変更してください。最初は 使用するエディタ以外は、とくに変更する必要はないでしょう。
  4. 編集を終了すると、設定をPPxに読込むかどうかの確認ダイアログが表示されるので許可してください。

以上でppmのインストール・設定は完了です。

プラグインのインストール・設定

  1. *ppmPluginlistを実行します。指定エディタでプラグインリストが開くので、説明に従って 追加したいプラグインのパスを書き込みます。
  2. 編集できたら*ppmInstallを実行します。パスで指定したリポジトリがppmプラグインであれば、 ppx-plugin-manager\repo以下にダウンロードされます。この時、プラグインごとの動作条件を満たしていなければ 必要な条件がPPeに提示されますので、条件を満たしたうえで再度*ppmInstallを実行してください。
    *ppmInstallはプラグインのダウンロードと動作条件の確認、使用するファイル類のコピーなどをしますが、 この時点ではプラグイン設定は読込まれません。
  3. *ppmEdit <plugin-name>を実行してプラグインの設定を編集し、終了後に確認ダイアログを 許可してください。
    プラグイン設定がPPxの設定として読込まれます。

以上でプラグインを適用できます。
基本的には*ppmPluginlistにプラグインを追加して、*ppmInstallでダウンロード、*ppmEditで 設定する流れになります。いちいちコマンド実行するのが面倒なら直接ppx-plugin-manager\cache\xxx\config 以下のファイルを編集後に、*ppmSetup resetで一括登録する方法もあります。

プラグインのアップデート

  1. *ppmUpdateを実行すると更新されたプラグインがダウンロードされます。
  2. *ppmCompare <plugin-name>を実行して差分を表示し、変更箇所を取捨選択します。
    この手順はユーザーが変更した箇所の上書きを防ぐために必要になります。

以上のようにカスタマイズをコピペすることなく設定・アップデートできます。 標準の*ppm○○○コマンドはいちいち覚える必要があり、便利とは言えませんが ppm-switchmenuをインストールすればメニューから 全ppmコマンドを実行できるのでこちらの利用をお薦めします。

後書き

正直、プラグインマネージャーの作成は私の手には余りバグもあると思われますが、 カスタマイズの導入・メンテナンスの負担を減らすべく更新していく所存です。 また今後のカスタマイズ記事はppmプラグイン形式での投稿になります。今まで書いてきた 記事も少しずつプラグイン化していくので、興味があれば一度試してみてください。
バグ報告などはイシューを立ててくれれば対応しますが、当方github初心者なので対応に手間取る かもしれません。