1 #title = "@OP"
  2 #tooltip = "様々なファイルやフォルダをポップアップから開く"
  3 #include "lib\sgc4jsee.jsee"
  4 
  5 /**
  6  * @fileOverview
  7  * 様々なファイルやフォルダをポップアップメニューに表示し、選択時に開きます。
  8  * 
  9  * @author gecca from 雪月花 (http://setsugecca.org/)
 10  * @version 1.01 for EmEditor v10.0
 11  */
 12 
 13 (function() {
 14 	var fso = JseeUtil.fso();
 15 	
 16 	var jseeUtilOriFileName = JseeUtil.fileName().replace(/(\.jsee)$/, ".ori$1");
 17 	var jseeUtilOriFilePath = JseeUtil.filePath().replace(/(\.jsee)$/, ".ori$1");
 18 	
 19 	JseeUtil.createPopupMenu([
 20 		[JseeUtil.fileName() + " (&J)", open, JseeUtil.filePath()],
 21 		[jseeUtilOriFileName + " (&O)", open, jseeUtilOriFilePath],
 22 		[JseeUtil.getSnipIniName() + " (&I)", open, JseeUtil.getSnipIniPath()],
 23 		["", function() {}],
 24 		["マクロフォルダ (&M)", open, JseeUtil.getMacroPath()],
 25 		["マクロフォルダ\\lib (&L)", open, JseeUtil.getMacroPath() + "lib\\"],
 26 		["", function() {}],
 27 		["本体フォルダ (&E)", open, JseeUtil.getEditorPath()],
 28 		["プラグインフォルダ (&P)", open, JseeUtil.getEditorPath() + "PlugIns\\"],
 29 		["スニペットフォルダ (&S)", openSnipDir],
 30 		["ワークスペースフォルダ (&W)", openWorkspaceDir],
 31 	]);
 32 	
 33 	function open(path) {
 34 		// "\"で終わるパスの場合はディレクトリを開く
 35 		if(/\\$/.test(path)) {
 36 			new ActiveXObject("WScript.Shell").Run("explorer " + path);
 37 		// "\"で終わらないパスの場合はファイルを開く
 38 		} else {
 39 			JseeUtil.openFile(path);
 40 		}
 41 	}
 42 	
 43 	function openSnipDir() {
 44 		// ポータブル版の場合に存在するファイルパス
 45 		var pathIfPortable = JseeUtil.getEditorPath() + "PlugIns\\snippets.bin";
 46 		if(fso.FileExists(pathIfPortable.replace(/[^\\]*$/, ""))) {
 47 			// ポータブル版
 48 			open(pathIfPortable);
 49 		} else {
 50 			// レジストリ版
 51 			open("%AppData%\\Emurasoft\\EmEditor\\");
 52 		}
 53 	}
 54 	
 55 	function openWorkspaceDir() {
 56 		// ポータブル版の場合に存在するファイルパス
 57 		var pathIfPortable = JseeUtil.getEditorPath() + "AppData\\Workspace\\LastData.bin";
 58 		if(fso.FileExists(pathIfPortable) || fso.FolderExists(pathIfPortable.replace(/[^\\]+$/, ""))) {
 59 			// ポータブル版
 60 			return open(pathIfPortable.replace(/[^\\]*$/, ""));
 61 		} else {
 62 			// レジストリ版
 63 			return open("%USERPROFILE%\\Local Settings\\Application Data\\Emurasoft\\EmEditor\\Workspace\\");
 64 		}
 65 	}
 66 })();