「スネークケース ⇔ キャメルケースの変換」の版間の差分
ナビゲーションに移動
検索に移動
新規作成 |
トグル変換マクロを追加 |
||
| 70行目: | 70行目: | ||
window.ScrollX = scrollX; | window.ScrollX = scrollX; | ||
window.ScrollY = scrollY; | window.ScrollY = scrollY; | ||
</source> | |||
= スネークケース ⇔ キャメルケースのトグル変換 = | |||
<source lang="javascript"> | |||
#title="スネークケース ⇔ キャメルケースのトグル変換" | |||
/** | |||
* スネークケース ⇔ キャメルケースをトグル変換するためのマクロ | |||
*/ | |||
// カーソル位置とウィンドウ位置を保存 | |||
var pointX = document.selection.GetActivePointX(mePosLogical); | |||
var pointY = document.selection.GetActivePointY(mePosLogical); | |||
var scrollX = window.ScrollX; | |||
var scrollY = window.ScrollY; | |||
// テキストを選択していない場合は全選択 | |||
if (document.selection.Text == "") { | |||
document.selection.SelectAll(); | |||
} | |||
// 選択中のテキストを取得 | |||
var selectionText = document.selection.Text; | |||
// キャメルケースに置換 | |||
replaceText = selectionText.replace(/(_)([a-z])/g, function(s) { | |||
return s.slice(1).toUpperCase(); | |||
}); | |||
// キャメルケースに置換後、元のテキストと同じならスネークケースに置換 | |||
if (selectionText == replaceText) { | |||
// キャメルケースに置換 | |||
replaceText = selectionText.replace(/([A-Z])/g, function(s) { | |||
return '_' + s.toLowerCase(); | |||
}); | |||
} | |||
// 置換後の文字列を設定 | |||
document.selection.Text = replaceText; | |||
// カーソル位置とウィンドウ位置を復元 | |||
document.selection.SetActivePoint(mePosLogical, pointX, pointY, false); | |||
window.ScrollX = scrollX; | |||
window.ScrollY = scrollY; | |||
</source> | </source> | ||
= 更新履歴 = | = 更新履歴 = | ||
* 2019/03/03 初版 | * 2019/03/03 初版 | ||
* 2020/06/23 トグル変換マクロを追加 | |||
2020年6月23日 (火) 11:33時点における版
概要
スネークケースとキャメルケースを相互変換するためのマクロです。
スネークケースをキャメルケースに変換
#title="スネークケースをキャメルケースに変換"
/**
* スネークケースをキャメルケースに変換するためのマクロ
*/
// カーソル位置とウィンドウ位置を保存
var pointX = document.selection.GetActivePointX(mePosLogical);
var pointY = document.selection.GetActivePointY(mePosLogical);
var scrollX = window.ScrollX;
var scrollY = window.ScrollY;
// テキストを選択していない場合は全選択
if (document.selection.Text == "") {
document.selection.SelectAll();
}
// 選択中のテキストを取得
var selectionText = document.selection.Text;
// キャメルケースに置換
selectionText = selectionText.replace(/(_)([a-z])/g, function(s) {
return s.slice(1).toUpperCase();
});
// 置換後の文字列を設定
document.selection.Text = selectionText;
// カーソル位置とウィンドウ位置を復元
document.selection.SetActivePoint(mePosLogical, pointX, pointY, false);
window.ScrollX = scrollX;
window.ScrollY = scrollY;
キャメルケースをスネークケースに変換
#title="キャメルケースをスネークケースに変換"
/**
* キャメルケースをスネークケースに変換するためのマクロ
*/
// カーソル位置とウィンドウ位置を保存
var pointX = document.selection.GetActivePointX(mePosLogical);
var pointY = document.selection.GetActivePointY(mePosLogical);
var scrollX = window.ScrollX;
var scrollY = window.ScrollY;
// テキストを選択していない場合は全選択
if (document.selection.Text == "") {
document.selection.SelectAll();
}
// 選択中のテキストを取得
var selectionText = document.selection.Text;
// キャメルケースに置換
selectionText = selectionText.replace(/([A-Z])/g, function(s) {
return '_' + s.toLowerCase();
});
// 置換後の文字列を設定
document.selection.Text = selectionText;
// カーソル位置とウィンドウ位置を復元
document.selection.SetActivePoint(mePosLogical, pointX, pointY, false);
window.ScrollX = scrollX;
window.ScrollY = scrollY;
スネークケース ⇔ キャメルケースのトグル変換
#title="スネークケース ⇔ キャメルケースのトグル変換"
/**
* スネークケース ⇔ キャメルケースをトグル変換するためのマクロ
*/
// カーソル位置とウィンドウ位置を保存
var pointX = document.selection.GetActivePointX(mePosLogical);
var pointY = document.selection.GetActivePointY(mePosLogical);
var scrollX = window.ScrollX;
var scrollY = window.ScrollY;
// テキストを選択していない場合は全選択
if (document.selection.Text == "") {
document.selection.SelectAll();
}
// 選択中のテキストを取得
var selectionText = document.selection.Text;
// キャメルケースに置換
replaceText = selectionText.replace(/(_)([a-z])/g, function(s) {
return s.slice(1).toUpperCase();
});
// キャメルケースに置換後、元のテキストと同じならスネークケースに置換
if (selectionText == replaceText) {
// キャメルケースに置換
replaceText = selectionText.replace(/([A-Z])/g, function(s) {
return '_' + s.toLowerCase();
});
}
// 置換後の文字列を設定
document.selection.Text = replaceText;
// カーソル位置とウィンドウ位置を復元
document.selection.SetActivePoint(mePosLogical, pointX, pointY, false);
window.ScrollX = scrollX;
window.ScrollY = scrollY;
更新履歴
- 2019/03/03 初版
- 2020/06/23 トグル変換マクロを追加
スポンサーリンク