EmEditor で JavaScript を整形する

「EmEdtior で Perl のスクリプトを整形する」 に続いて、今度は JavaScript を整形してみる。

試した環境と必要なもの

  • EmEditor Pro 32bit ver10.0.8 - フリーはマクロが設定できないからダメ
  • JsDecoder.js - JavaScript を整形するスクリプト。 Cezary Tomczak という方の作。
  • Windows Vista HomePre 32bit - XP,7 でも大差ないと思う。

やり方

  1. 下記の URL から JsDecoder.zip をダウンロードしてきて、解凍して出てきた JsDecoder.jsEmEditor のマクロ用フォルダに入れる。例えば C:\Users\USERNAME\Documents\Macros\JsDecoder.js とする。
    http://www.gosu.pl/decoder/
  2. 下記の内容を適当な名前(拡張子は .jsee )でマクロ用フォルダに保存する。例えば C:\Users\USERNAME\Documents\Macros\JsFormat.jsee とする。
    if ( document.ConfigName == 'JavaScript' 
    || document.ConfigName == 'JavaScript for EmEditor' )
    {
    var objFileSys
    = new ActiveXObject('Scripting.FileSystemObject');
    var macroFolder
    = String(ScriptFullName).replace(ScriptName, '');
    var jsdecoderFile = objFileSys.OpenTextFile(
    objFileSys.BuildPath(macroFolder, 'JsDecoder.js'), 1);
    var contentOfJsdecoder = jsdecoderFile.ReadAll();
    jsdecoderFile.Close();
    eval(contentOfJsdecoder);
    var jsdecoder = new JsDecoder();
    document.selection.SelectAll();
    jsdecoder.s = document.selection.Text;
    var code = jsdecoder.decode();
    document.selection.DestructiveInsert(code);
    }
  3. EmEditor のメニューから マクロ->選択 で今作成したファイルを選択する。
  4. ツールバーにマクロツールバーがなかったら、ツールバーを右クリックしてマクロツールバーをチェックして表示する。
  5. これで JavaScript のファイルを編集しているとき、マクロツールバーの JsFormat ボタンを押せば整形される。
  6. キーボードショートカットの登録は、 JavaScript の設定->キーボード からできる。
P.S. UniversalIndentGUI を使えば、いろいろな言語を整形できる。ただし EmEditor と連携させるには一つ一つの言語についてどうするか書かなくちゃだめそうで面倒。