以前、Excel VBA で、Python で書いた snake case ⇔ camel case スクリプトで、
Excel 上に入力したものを変換する方法を書いた。
oboe2uran.hatenablog.com
でも、Python が入っていないPC環境では不可能なので他の方法で日常、すぐに使える方法はないかと
探していたら、サクラエディタに JSでマクロ登録する方法を見つけました。
【サクラエディタ】スネーク⇔キャメル変換するマクロ - Qiita
ありがたく使わせて頂き、御礼申し上げます。
以下のJSソースを用意します。(上記、掲載をそのままコピーさせていただきます。)
snakeToCamel.js
function converter(match, offset, string){ var inp = match; if (/^[A-Z0-9]+$/.test(inp)){ return inp.toLowerCase(); } //スネークケースかどうか?アンダースコアがあるか? if (/_/.test(inp)){ //スネーク→キャメル //全て小文字に inp = inp.toLowerCase(); //区切り文字の後を大文字に inp = inp.replace(/(_|^)(.)/g, snakeToCamelConv); //先頭を小文字に inp = inp.charAt(0).toLowerCase() + inp.slice(1); }else{ //キャメル→スネーク //大文字の前に「アンダースコア」を追加 inp = inp.replace(/([A-Z])/g, camelToSnakeConv); //全て大文字に inp = inp.toUpperCase(); } return inp; } function snakeToCamelConv(match, p1, p2, offset, string){ return p2.toUpperCase(); } function camelToSnakeConv(match, p1, offset, string){ return '_' + p1; } //(INPUT)選択範囲を取得 var str = Editor.GetSelectedString(0); //(PROCESS)スネークケース⇔キャメルケース str = str.replace(/(\w+)/g, converter); //(OUT)編集したテキストを設定 Editor.InsText(str);
サクラエディタの「共通設定」のマクロタブを開きます。
マクロ一覧の箇所が、マクロを読み込む場所になります。
用意したJSソースのフォルダをここで指定します。
デフォルトは、ユーザープロファイルの AppData¥Roaming¥sakura になっていると思います。
適当に macro とかフォルダを作ってそれを指定します。
「参照」ボタンで指定します。
下のファイルのプルダウンでマクロを書いたJSソースを指定します。
適当に名前を付けて「設定」を実行します。
番号のところに設定されたものが表示されて、OKで、準備完了です。
変換を実行するときは、対象を含むように範囲指定してから、
ツール → 登録済みマクロ で実行します。