hmJavaVMが持つ特別な関数一覧 その②

各メソッドの細かな「型情報」などは、Eclipse等で使用する際に自動的に表示されますので、
ここでは割愛します。

編集中エディタに対する関数

現在秀丸エディタで開いているテキストに対して、以下の関数を利用することが出来ます。

  • ファイル名

    • Hm.Edit.getFile()

      現在編集中の秀丸エディタのファイル名を基に 「new java.io.File()」オブジェクトを得る

      import java.io.File;
      import hidemaru.*;
      
      public class MyClass2 {
      
          public static long Test() {
              File f = Hm.Edit.getFile();
              if (f != null) {
                  Hm.debugInfo(f.getAbsolutePath());
              } else {
                  Hm.debugInfo("無い");
              }
      
              return 1;
          }
      }
      

    テキスト全体

    • Hm.Edit.getTotalText()

      現在編集中の秀丸エディタのテキスト全体を得る

    • Hm.Edit.setTotalText( オブジェクト )

      現在編集中の秀丸エディタのテキスト全体を、対象の引数を文字列化したものへと変更する

    import hidemaru.*;
    
    public class MyClass2 {
    
        // この変数はマクロが終了しても、残る
        static int staticCounter = 0;
    
        public static long begin() {
            // 秀丸エディタ上の編集中テキストの現在の内容すべて
            String text = Hm.Edit.getTotalText();
    
            Hm.Edit.setTotalText("編集中テキストの内容をこの文字列に変更");
    
            return 1;
        }
    }
    
  • 選択中のテキスト

    (単純選択のみが対象となります。ボックス選択や複数選択は対象にはなりません)

    • Hm.Edit.getSelectedText()

      現在編集中の秀丸エディタの「選択している」テキストを得る。

    • Hm.Edit.setSelectedText( オブジェクト )

      現在編集中の秀丸エディタの「選択している」テキストを、対象の引数を文字列化したものへと変更する

  • カーソルがある行のテキスト

    • Hm.Edit.getLineText()

      現在編集中の秀丸エディタの「カーソルがある行」のテキストを得る。

    • Hm.Edit.setLineText( オブジェクト )

      現在編集中の秀丸エディタの「カーソルがある行」のテキストを、対象の引数を文字列化したものへと変更する

  • カーソルの位置

    • Hm.Edit.getCursorPos().getLineNo()

      現在選択中の秀丸エディタのカーソル位置の行番号を得る。
      秀丸マクロのlinenoと同じ値。

    • Hm.Edit.getCursorPos().getColumn()

      現在選択中の秀丸エディタのカーソル位置のカラム値を得る。
      秀丸マクロのcolumnと同じ値。

    int lineno = Hm.Edit.getCursorPos().getLineNo();
    int column = Hm.Edit.getCursorPos().getColumn();
    
    // これらの値は、マクロシンボル経由からでも取得可能。例えば以下のような記述方法
    int lineno2 = (int)Hm.Macro.getVar("lineno");
    int column2 = (int)Hm.Macro.getVar("column");
    
  • マウスの位置のカーソルの位置 (秀丸エディタ V8.73以上)

    • Hm.Edit.getMousePos().getLineNo()

      現在選択中の秀丸エディタのマウスの位置をカーソル位置にみたてた行番号を得る。
      換算出来ない場合は-1

    • Hm.Edit.getMousePos().getColumn()

      現在選択中の秀丸エディタのマウスの位置をカーソル位置にみたてたカラム値を得る。
      換算出来ない場合は-1

    • Hm.Edit.getMousePos().getX()

      マウスのx座標。(win32 apiのGetCursurPosと同じ)

    • Hm.Edit.getMousePos().getY()

      マウスのy座標。(win32 apiのGetCursurPosと同じ)