◀一般トップへ
  • 8097 [要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。
    • 8098 Re:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。
      • 8100 Re2:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。
        • 8101 Re3:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。
          • 8103 Re4:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。
            • 8104 Re5:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。
          • 8105 Re4:[要望] ショートカットキーで編集モードを切り替えられるようになりました!
  • [8097] [要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。 arigayas 2015年12月29日 22:19

    「設定」→「共通設定」→「キー割り当て」タブの[種別(K)]に
    「設定」→「タイプ別設定一覧」が出るようにして欲しいです。
    そして[機能(F)]に「タイプ別設定一覧」の一覧が出るようにして欲しいです。

    ここで選択した編集モード(HTMLやCSSなど)をキーに割り当てたら
    ショートカットキーで切り替えられるようにして欲しいです。

    もしくは、設定したキーを押すごとに順次切り替るようにして欲しいです。
    • [8098] Re:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。 novice 2015年12月29日 23:50

      ▼ arigayasさん
      > ここで選択した編集モード(HTMLやCSSなど)をキーに割り当てたら
      > ショートカットキーで切り替えられるようにして欲しいです。

      http://sakura-editor.sourceforge.net/htmlhelp2/HLP000072.html
      最近知りましたが、
      Editor.ChangeType(1);
      のようなマクロを作ってもらって、
      ショートカットキーで呼び出すと切り替えられるようです。
      • [8100] Re2:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。 arigayas 2016年01月07日 10:16

        ▼ noviceさん
        回答していただきありがとうございます。
        よくわからなかったのですが試行錯誤して出来たので書きますw

        > http://sakura-editor.sourceforge.net/htmlhelp2/HLP000072.html
        > 最近知りましたが、
        > Editor.ChangeType(1);
        > のようなマクロを作ってもらって、
        > ショートカットキーで呼び出すと切り替えられるようです。

        (タイプ別設定一覧の順番を変更してないと仮定して)
        例えば、HTMLモードにしたい場合は、
        1.ChangeType( 4 : Integer );
         とだけ書いてテキストファイルとして「HTMLmode.mac」などと名前を付けてマクロフォルダ内に保存。
        2.「共通設定」の「マクロ」タブをクリック。
        3.「名前」と「File」を[HTMLモード切り替え/HTMLmode.mac]などと指定して「設定」ボタンを押す。
        4.「共通設定」の「キー割り当て」タブをクリック。
        5.「種別」の一覧から「外部マクロ」を選んで割り当てたいキーを選択して「割付」ボタンを押す。

        てなことをしたらショートカットキーに登録出来ました。
        でも欲しい編集モード?マクロを全部用意するのは手間がかかります・・・。

        例えば、
        ChangeType( 4 : Integer ); // HTML
        ChangeType( 5 : Integer ); // CSS
        と指定してる場合に1つのマクロファイルで切り替えを上手くやる方法ってあるのでしょうか?

        • [8101] Re3:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。 novice 2016年01月10日 00:20

          ▼ arigayasさん
          > 例えば、
          > ChangeType( 4 : Integer ); // HTML
          > ChangeType( 5 : Integer ); // CSS
          > と指定してる場合に1つのマクロファイルで切り替えを上手くやる方法ってあるのでしょうか?

          WSH(JScript)マクロの例です。「ChangeType.js」で保存してください。
          マクロを呼び出すごとに、HTMLとPL/SQLを切り替えます。
          --------------------
          var modeArray = new Array( 4, 5 );

          var mode = Editor.GetCookie("document", "mode");

          var num;
          if( mode ){
          num = parseInt(mode) + 1;
          num %= modeArray.length;
          }else{
          num = 0;
          }

          ChangeType(modeArray[num]);

          mode = num.toString();
          Editor.SetCookie("document", "mode", mode);
          --------------------
          • [8103] Re4:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。 NaKIT 2016年01月10日 23:37

            別解を考えてみました。JScript です。

            あなたの環境と,望む切替先に合わせ,サンプロを参考に TYPES を正しく記述してください。
            タイプ別設定の名前は,インストール先か %APPDATA%\sakura にある sakura.ini を開き,
            Grep 検索で szTypeName という文字列を検索すると得ることができます。
            検索結果をコピーして新規ウィンドウに張り付ければ,行番号でタイプ番号を知ることができます。

            TSV と CSV をサンプルのように設定すると,このマクロ2回で,
            開き直さずに崩れた桁位置を再設定できます。
            ----------------
            // タイプ別設定切替
            var TYPES = { // タイプ別設定定義
            // 特別に "基本" タイプは ""(空文字)であることに注意してください。
            // 現在のタイプ名: [現在のタイプ番号, 切替先のタイプ名],
            "": [1, "テキスト"],
            "テキスト": [2, ""],
            "HTML": [4, "CSS"],
            "CSS": [5, "HTML"],
            "TSV": [20, "CSV"],
            "CSV": [21, "TSV"],
            // 以下はダミー
            "基本": [1, ""]
            }

            function main (Types) {
            var type = ExpandParameter('$B');
            if (Types.hasOwnProperty(type)) {
            var newType = Types[type][1];
            if (Types.hasOwnProperty(newType)) {
            ChangeType(Types[newType][0]);
            if (ExpandParameter('$B') === newType) {
            return;
            }
            }
            } else { // TYPES に無いタイプの場合は何もしない
            return;
            } // TYPES の整合性がとれていない / 未定義のタイプ の場合に警告
            MessageBox('"'+ type +'" → "'+ newType +'"\r\nタイプ別設定の切り替えに失敗しました。', 0x30);
            }
            main(TYPES);
            • [8104] Re5:[要望] ショートカットキーで編集モードを切り替えられるようにして欲しい。 arigayas 2016年01月11日 20:42

              ▼ NaKITさん
              > 別解を考えてみました。JScript です。
              >
              > あなたの環境と,望む切替先に合わせ,サンプロを参考に TYPES を正しく記述してください。
              > タイプ別設定の名前は,インストール先か %APPDATA%\sakura にある sakura.ini を開き,
              > Grep 検索で szTypeName という文字列を検索すると得ることができます。
              > 検索結果をコピーして新規ウィンドウに張り付ければ,行番号でタイプ番号を知ることができます。
              >
              > TSV と CSV をサンプルのように設定すると,このマクロ2回で,
              > 開き直さずに崩れた桁位置を再設定できます。
              > ----------------
              > // タイプ別設定切替
              > var TYPES = { // タイプ別設定定義
              > // 特別に "基本" タイプは ""(空文字)であることに注意してください。
              > // 現在のタイプ名: [現在のタイプ番号, 切替先のタイプ名],
              > "": [1, "テキスト"],
              > "テキスト": [2, ""],
              > "HTML": [4, "CSS"],
              > "CSS": [5, "HTML"],
              > "TSV": [20, "CSV"],
              > "CSV": [21, "TSV"],
              > // 以下はダミー
              > "基本": [1, ""]
              > }
              >
              > function main (Types) {
              > var type = ExpandParameter('$B');
              > if (Types.hasOwnProperty(type)) {
              > var newType = Types[type][1];
              > if (Types.hasOwnProperty(newType)) {
              > ChangeType(Types[newType][0]);
              > if (ExpandParameter('$B') === newType) {
              > return;
              > }
              > }
              > } else { // TYPES に無いタイプの場合は何もしない
              > return;
              > } // TYPES の整合性がとれていない / 未定義のタイプ の場合に警告
              > MessageBox('"'+ type +'" → "'+ newType +'"\r\nタイプ別設定の切り替えに失敗しました。', 0x30);
              > }
              > main(TYPES);

              NaKITさん、別解を考えていただきありがとうございました。
          • [8105] Re4:[要望] ショートカットキーで編集モードを切り替えられるようになりました! arigayas 2016年01月11日 20:43

            ▼ noviceさん
            > ▼ arigayasさん
            > > 例えば、
            > > ChangeType( 4 : Integer ); // HTML
            > > ChangeType( 5 : Integer ); // CSS
            > > と指定してる場合に1つのマクロファイルで切り替えを上手くやる方法ってあるのでしょうか?
            >
            > WSH(JScript)マクロの例です。「ChangeType.js」で保存してください。
            > マクロを呼び出すごとに、HTMLとPL/SQLを切り替えます。
            > --------------------
            > var modeArray = new Array( 4, 5 );
            >
            > var mode = Editor.GetCookie("document", "mode");
            >
            > var num;
            > if( mode ){
            > num = parseInt(mode) + 1;
            > num %= modeArray.length;
            > }else{
            > num = 0;
            > }
            >
            > ChangeType(modeArray[num]);
            >
            > mode = num.toString();
            > Editor.SetCookie("document", "mode", mode);
            > --------------------
            上記のマクロって「new Array( 4, 5 );」にカンマ区切りで数字を加えれば、
            (例えば) 3個以上「new Array( 4, 5, 20 );」も可能なんですね!
            早速マクロを登録して使い始めました!!

            マクロを作っていただきありがとうございました!!