行末を半角スペースで揃えるマクロ

SQLファイルの整形とかで行末を揃える事が多く、スペースキーを叩くのも疲れてきたので、マクロ(JScript)を組んでみた。
※サクラエディッタ専用(かな?)

使い方

行末揃えを行いたい行を、全て選択した状態でマクロを実行する。

注意

  • 行単位で選択してください。行途中での選択状態だと正しく行末揃えされません。
  • 選択はカーソル選択で指定してください。行選択だと正しく行末揃えされません。
function end_of_indent(str){
  var out = '';
  var str_array = str.split('\r\n');
  
  var max_length = 0;
  for(var i = 0; i < str_array.length; i++){
    if(max_length == 0 || str_array[i].length > max_length){
      max_length = str_array[i].length;
    }
  }
  
  var spacer = '';
  for(var i = 0; i < max_length; i++){
    spacer = spacer + ' ';
  }
  
  for(var i = 0; i < str_array.length; i++){
    out = out + (str_array[i] + spacer).substr(0, max_length);
    if(i + 1 < str_array.length){
      out = out + '\r\n';
    }
  }
  return out;
}
Editor.InsText( end_of_indent(Editor.GetSelectedString()) );

追記

マルチバイト文字が対応しきれてないです^^;;

追記2

マルチバイトに対応しました〜。

行末を半角スペースで揃えるマクロ〜その2 - crays diary
プライバシーポリシー お問い合わせ