Javaのメンバー変数からGetterSetterメソッドコードを生成

var indent = " ";

function execute(s) {

var ary = replaceText(s).split("\r\n");

var getterText = "";
var setterText = "";
for(var i=0;i1 ? v.charAt(0).toUpperCase() : "");
r += (v.length>2 ? v.substr(1) : "");
return r;
}

if(!IsTextSelected()) { SelectAll(); }
InsText(execute(GetSelectedString(0)));

alertダイアログを表示

サクラエディタjavascriptのalertは実行できないので、以下を用意

// type
// 0:[OK] ボタン
// 1:[OK],[キャンセル] ボタン
// 2:[中止],[再試行],[無視] ボタン
// 3:[はい],[いいえ],[キャンセル] ボタン
// 4:[はい],[いいえ] ボタン
// 5:[再試行],[キャンセル] ボタン
// 16:[Stop] アイコンを表示
// 32:[?] アイコンを表示
// 48:[!] アイコンを表示
// 64:[i] アイコンを表示

// 戻り値
// 1:[OK] ボタン
// 2:[キャンセル] ボタン
// 3:[中止] ボタン
// 4:[再試行] ボタン
// 5:[無視] ボタン
// 6:[はい] ボタン
// 7:[いいえ] ボタン

function alert(msg, title, type) {
    var shell = new ActiveXObject("WScript.Shell");
    return shell.Popup(msg, 0, title, type);
};

サクラエディタマクロのテンプレート

できること

  • マクロ実行時に選択していた文字列を取得し、マクロ側に渡す
  • 文字選択されていない場合は、すべてのテキストを取得し、マクロ側に渡す
  • マクロ処理が終わったら、マクロで生成した文字列で選択されていた文字を上書きする。

base.js

function execute(s) {
 // ここに処理を記述
 return s;
}
if(!IsTextSelected()) { SelectAll(); }
InsText(execute(GetSelectedString(0)));
function alert(msg, title, type) { return new ActiveXObject("WScript.Shell").Popup(msg, 0, title, type); }

サクラエディタマクロ-ESCキーの拡張

できること

  • 検索文字列の強調表示をクリアする
  • ブックマークをクリアする
  • 挿入モードをクリアする

導入手順+

  1. 以下に記載するマクロを「ESCキー拡張.js」として保存する
  2. macroフォルダを作成しそこに作成したファイルを移動する
  3. 「設定」→「共通設定」→「マクロ」を選択し、macroフォルダを参照する
  4. マクロ一覧にて適当な行を選択する。
  5. 「File」のプルダウンを展開すると「ESCキー拡張.js」があるので選択する。
  6. 名前には「ESCキー拡張」とでも入れておく。(なんでもいい)
  7. 「設定」ボタンを押下する。
  8. 「OK」ボタンを押下する。
  9. 「設定」→「共通設定」→「キー割り当て」を選択し、macroフォルダを参照する
  10. 右側のリストから「ESC」を探し選択する。
  11. 「種別」プルダウンから「外部マクロ」を選択する。
  12. 「ESCキー拡張」を選択し「割付」を押下する。
  13. 「OK」ボタンを押下する。

escex.js

if(Editor.GetSelectedString(0) != "") {
    // 各種モードの取り消し
    Editor.CancelMode(0);
}
else {
    // 検索対象をクリア
    Editor.SearchClearMark(0);
    // ブックマークをクリア
    Editor.BookmarkReset(0);
    // 挿入モードにセット
    Editor.IsInsMode(1);
}

文字列を選択していて、かつ検索文字列が強調表示している場合、
2回ESCキーを押下すれば、文字列選択解除→検索文字列強調解除となる。