ヴォルフロッシュ

Blog

Published on

RSS

CotEditor コメントマクロ v1.1

CotEditorの一括コメントアウトスクリプトをアップデートしました。ついでに名前も変わって専用ページも作りました。

色々変わっているのでもし使っている方がいらしたら、入れ替えることをお勧めします。

変更点はこんな感じ。

  • ブロックコメントのコメント解除ができるようになりました(単独のブロックコメントのみ)
  • コメントが行頭でしか許されていない言語 (Apache, Shell Script) では、常に行頭に対してコメントアウト/解除をするようになりました
  • "ルーズセレクト モード" が選択できるようなりました
    このモードを有効にすると、選択範囲の開始/終了が行の途中でもその行頭から行末までに対してコメントアウト/解除をします
  • 行全体を選択する Select Lines と 常にコメントアウト・解除を行う Comment Out, Uncommentを optional scripts/ として同梱しました
  • ブロックコメント切り替えの設定行数に関わらず、選択範囲内のラインコメント数が設定した割合を超えるときは、コメント解除を行うようになりました
  • コメントアウトの際、空行の行頭にもコメント記号をいれるようにしました
  • デフォルトの コメント解除 への切り替えコメント割合を2/3に変更しました
  • 対応している言語に R を含めていながら R の定義が入っていなかったので追加しました

何だか色々弄った結果ソースはかなり変わってます。AppleScriptはなかなか面白いのですがテキスト処理まわりは本当にアホの子なので色々工夫が必要でそれに行数を割かれている感じです。とはいえ速くなったか遅くなったかというと速くなってると思う。体感するほどではないと思いますが。

閑話休題。簡易ではありますがブロックコメントの解除ができるようになりました。ブロックコメントは開始と終了外すだけだから手動でもいいかな、と思っていましたが、実装してみたらとても便利だった。開始から終了までピッタリ選択しないと外れませんが、それもまた誤作動がなくていいかな、と思っておこう。

前述のとおりgistにチマチマ上げてた切れ端と合わせてCotEditorマクロ関係の専用ページを作りました。このコメントマクロはさらに隔離して1枚ページにしてあります。v1.1もここからダウンロードできます。

続きは新機能の解説みたいの。


オプションマクロとそのオススメの使い方

optional macrosなどというスクリプトが新しく付いてきてます。別になくてもCommentだけで使えるのですが、もう少し色々柔軟に対応したい人用です。

Comment Out と Uncommentはつねにそのアクションをするので、「コメント行が多いから勝手にコメント解除しちゃうんだけど本当はさらに全体をコメント化したいんだ!」みたいなイライラケースに対応します。もしくはショートカットキーを2個覚えるのが苦痛じゃない頭がいい人は最初からトグルする方を使わずにこの2つを使うという手もある。正直ファイル頭のフラグの立て方が違うだけで中身は同じスクリプトです。

で、Select Lines。これは現在カーソルのある行の行全体を選択しなおすだけのスクリプトです。これの何がいいかというと、これと Comment スクリプトを組み合わせて、任意の場所でショートカットキーで Select Lines -> Comment を連続入力すれば、その行を行頭からコメントアウトできる。デフォルトでは Command + Shift + ACommand + Shift + C なんで片手で入力できます。

カーソルがどこでも
行全体を選択して (Select Lines)
行頭からコメントアウト (Comment)

っていうかそういうキーバインドってもとからあるのかと思ったんですけどどうもなさそうなんですよね。もし元々あるならわざわざこんなスクリプト付けることもないので知ってる人いたら教えてください。

てことで Comment と Select Lines にショートカット振っておいて、Comment Out と Uncomment はメニューに入れるだけ入れといてそういう例外ケースのときにスクリプトメニューから選んで実行するってのがいいかなとか思ってます。

でもまぁ思ってるだけなのでお好きなように。

ルーズセレクトモード

それとなんだか謎の名前が付いた隠しモードみたいのが追加されていますが、これは簡単に言うと前述の Select Lines -> Comment コンボを1発でできるようにするフラグです。使用感としてはCotEditorツールバーの「右へシフト」「左へシフト」に近くなります。でもその代わりできなくなることも出てくるのでデフォルトではオフにしています。Select Lines -> Commentで足りるしね。でも1発でやりたい人向けにカスタマイズ用のフラグとして残してあります。切り替えを行数で指定できるので複数行選択時は、とかでもいいかも。

まぁ気になるならちょっとためしてみて気に入ったら使ってください。スクリプトを複製して別アクションとして割り当てるのもありかもしれない。

名前

あとどうでもいいけど正式名称を "Multi Comment Macro for CotEditor" にしました。サイトでは主にカタカナ表記で単に コメントマクロ って書いてますが。

CotEditorではあまり "マクロ" と呼ぶ習慣がないようで、私も マクロ という呼び方があまり好きではない(理由はないです なんとなく)のでそれに倣ってスクリプトと呼ぶようにしていたのですが、なんかどうもわかりづらい。"コメントスクリプト"とかモヤモヤする。

しかし実際、改めて調べてみるとCotEditor用のスクリプトを公開してる人でそれを指して マクロ って呼んでる人皆無なんです。だから本当にどうしようかと思ってたのですが、他のエディタから来た人にはマクロって言った方がわかりやすいだろうなぁとかとか色々考えてうちのサイトではそう呼んでみることにします。未だにどうかしらんとも思っているところ。

ロードマップ

これでひとまず自分的には満足いくレベルになったかなと思います。

あとやるとするとブロックコメントの解除はあまり賢くないので、その辺は改善の余地はあるかとは思うのです。ただ、あんまり色々仕掛けすぎて、本来あるべき素直な動作が妨げられたりモタモタしても嫌なので、もう少し寝かせてから取りかかろうと思います。基本的には今ので十分だし。

「これができるといい」みたいのがあったら耳を傾けます。

Comment

この記事へのコメント受付は終了しました。