Posted at 2006-08-03T13:40:00+09:00 in Web Design
自動リロードで開発をアジャイルにするたった一つの方法!や萌ディタで保存と同時にSafariをリロードするデモと似たようなものをWSH with JScriptと秀丸マクロで泥臭く実現してみようとかいう話。やろうと思えばいろんな環境で実現できそうてなもんだ。
ブラウザのリロードは魔法のメソッドSendKeyでF5を送ってやれば良し。ただ、SendKeyはアクティブなウィンドウにしか効果が無いので、
としてやる必要がある。エディタをアクティブにするのはPIDさえ知ってればJScriptでいけるけど、調べるのはちょっと面倒。しかしながらほとんどのエディタは「既に開いているファイルを開こうとすると、既にそのファイルを開いているウィンドウ(とかタブ)を最前面にする」という動作をするので、保存したCSSファイルを開こうとしてやればエディタがアクティブになってくれる。
JScriptは
filename = WScript.Arguments(0);
var oShell = WScript.CreateObject("WScript.Shell");
oShell.AppActivate("Mozilla Firefox");
WScript.Sleep(100);
oShell.SendKeys("{F5}");
oShell.Run("hidemaru.exe " + filename);
こんなんで。秀丸側は保存時フックのためにはCtrl+Sに、
$fExt = filetype + ".";
if (strstr(".css.", $fExt) != -1) {
save;
run "wscript.exe D:\\Development\\wsh\\reload-firefox.js " + filename2;
} else {
save;
}
endmacro;
とかいうマクロを割り当てるとかで!!!保存時フックとは言いません。
このエントリと同じカテゴリに投稿された最近10件のエントリです。
JavaScriptに対応、または有効な環境の場合、ここにこのエントリへのはてなブックマークコメントが表示されます。
Dummy element for AutoPagerize.