◀一般トップへ
  • 1179 [要望]選択範囲をコメントアウト
    • 1180 Re:[要望]選択範囲をコメントアウト
      • 1184 Re2:[要望]選択範囲をコメントアウト
        • 3600 Re3:[要望]選択範囲をコメントアウト
          • 3601 Re4:[要望]選択範囲をコメントアウト
  • [1179] [要望]選択範囲をコメントアウト tetti 2002年01月30日 10:36

    プログラムコードを書く際、一時的にコードをコメントアウトして動作確認等、みなさんもよくやられると思いますが、それを楽にできないものかと思い下記機能を提案します。

    選択範囲に対して、現在のタイプ別設定のコメントスタイル定義に従い、コメント挿入と削除する機能です。

    [編集]-[整形]-[コメント挿入 (行)]
    [編集]-[整形]-[コメント挿入 (プロック)]
    [編集]-[整形]-[コメント削除 (行)]
    [編集]-[整形]-[コメント削除 (プロック)]

    のようなメニューがあり、複数行にわたり一気にコメントアウトしたり外せたりできる機能があれば便利だと思うのですが、いかかでしょうか。
    • [1180] Re:[要望]選択範囲をコメントアウト やざき 2002年01月30日 10:54

      ▼ tettiさん
      > プログラムコードを書く際、一時的にコードをコメントアウトして動作確認等、みなさんもよくやられると思いますが、それを楽にできないものかと思い下記機能を提案します。
      >
      > 選択範囲に対して、現在のタイプ別設定のコメントスタイル定義に従い、コメント挿入と削除する機能です。
      >
      > [編集]-[整形]-[コメント挿入 (行)]
      > [編集]-[整形]-[コメント挿入 (プロック)]
      > [編集]-[整形]-[コメント削除 (行)]
      > [編集]-[整形]-[コメント削除 (プロック)]
      >
      > のようなメニューがあり、複数行にわたり一気にコメントアウトしたり外せたりできる機能があれば便利だと思うのですが、いかかでしょうか。

      コメントって/**/とか//とか#とかremとか'とかあると思いますけど、
      矩形選択してから、//と入力すれば矩形選択した直前に//がつきます。
      それで対応していただけませぬか。//を矩形選択して削除すれば、コメント削除もできますし。
      • [1184] Re2:[要望]選択範囲をコメントアウト tetti 2002年01月30日 12:18

        ▼ やざきさん
        > 矩形選択してから、//と入力すれば矩形選択した直前に//がつきます。
        > それで対応していただけませぬか。//を矩形選択して削除すれば、コメント削除もできますし。

        知りませんでした。
        行単位のコメントについては矩形選択で代替したいと思います。
        ありがとうございました。
        • [3600] Re3:[要望]選択範囲をコメントアウト しみづ 2004年01月21日 16:21

           はじめまして。先日、Netscape7の不具合のページで、UTFのコードが扱えるエディタの紹介を見てサクラエディタを使い始めて、便利な機能にたいへんありがたがっております。

           さて、このツリーが目に止まり、先日必要があって作ったマクロを流用して、選択範囲をブロックコメント/**/でコメントアウトするマクロを作ってみたので、掲載してみます。そしてもうひとつは、選択範囲の先頭と最後を2文字削除するマクロです。
           変更の後、すぐ移動などできるように変更部分を選択するように作ってありますが、改行をはさむ場合には計算がうまくいかず(改行を数える処理が見つからないので)、選択範囲がずれますので、必要なければその部分は削除してください。

           なお、WSHがうまく動かない環境もありえるそうですが、その場合は、あまり覚える言語を増やしたくないのでご勘弁ください。

          【addcomm.js】
          var inp = Editor.GetSelectedString(0);
          var len = inp.length+4;
          Editor.InsText("/*");
          Editor.InsText(inp);
          Editor.InsText("*/");
          for (var i = 0; i < len; i++) {
          Editor.Left();
          }
          Editor.BeginSelect();
          for (var i = 0; i < len; i++) {
          Editor.Right_Sel();
          }

          【delcomm.js】
          var inp = Editor.GetSelectedString(0);
          var len = inp.length-4;
          var outp = inp.substr(2, len);
          Editor.InsText(outp);
          for (var i = 0; i < len; i++) {
          Editor.Left();
          }
          Editor.BeginSelect();
          for (var i = 0; i < len; i++) {
          Editor.Right_Sel();
          }
          • [3601] Re4:[要望]選択範囲をコメントアウト しみづ 2004年01月22日 17:28

             改行コードを数える処理ができました。失礼しました。

            【addcomm.js】
            var inp = Editor.GetSelectedString(0);
            var len = inp.length+4;
            var crlf = 0;
            var rc;
            var i;
            for ( i = 0; ; i++ ) { // 改行カウント
            rc = inp.indexOf("\n", i);
            if ( rc == -1 )
            break;
            crlf++;
            i = rc;
            }
            len -= crlf;
            Editor.InsText("/*");
            Editor.InsText(inp);
            Editor.InsText("*/");
            for ( i = 0; i < len; i++ ) {
            Editor.Left();
            }
            Editor.BeginSelect();
            for ( i = 0; i < len; i++ ) {
            Editor.Right_Sel();
            }

            【delcomm.js】
            var inp = Editor.GetSelectedString(0);
            var len = inp.length-4;
            var outp = inp.substr(2, len);
            var crlf = 0;
            var rc;
            var i;
            for ( i = 0; ; i++ ) { // 改行カウント
            rc = inp.indexOf("\n", i);
            if ( rc == -1 )
            break;
            crlf++;
            i = rc;
            }
            len -= crlf;
            Editor.InsText(outp);
            for ( i = 0; i < len; i++ ) {
            Editor.Left();
            }
            Editor.BeginSelect();
            for ( i = 0; i < len; i++ ) {
            Editor.Right_Sel();
            }