2012年1月19日木曜日

サクラエディタでJavaScriptの構文チェック その3

サクラエディタでJavaScriptの構文チェック で JSHintのWSH版 を使用したのですが、ファイルの読み込みに FileSystemObject を使用しているため、UTF-8 だと文字化けしてしまいます。
そこで、ファイルの読み込みを ADODB.Stream に変更して UTF-8 に対応してみます。

jshint-for-wsh.js の 3910 行目からの以下の箇所を変更します。
          fso = new ActiveXObject('Scripting.FileSystemObject');
          //var file = fso.GetFile(filename);
          fs = fso.OpenTextFile(filename, 1);
          content = fs.ReadAll();
          fs.Close();
          fso = null;
          fs = null;
ここを、
          var stream = new ActiveXObject('ADODB.Stream');
          stream.type = 2;
          stream.charset = WScript.Arguments.length == 2 ?
                             WScript.Arguments(1) : '_autodetect_all';
          stream.open();
          stream.loadFromFile(filename);
          content = stream.ReadText();
          stream.close();
こう変更します。

そして、コマンドの実行で引数に文字コードを追加します。
wscript.exe "[保存したパス]\jshint-for-wsh.js" "$F" "UTF-8"
UTF-8でも文字化けしなくて便利♪

0 件のコメント:

コメントを投稿