C/C++ ソースコードをリファクタリング by lctags on emacs (リネーム編)
lctags は、変数名、引数名のリネームをサポートします。
多くの場合は、emacs が提供している文字列置換でも問題なくリネームできますが、 リネーム対象と同じ名前のメンバが存在しているような場合、 単純な文字列置換では意図しないものまでリネームしてしまうことがあります。
lctags では、構文解析した情報を基にリネームを行なうため、確実にリネームできます。
デモ
https://www.youtube.com/watch?v=HovGT2yTUPA
lctags で引数をリネームしているデモ動画です。 この動画では、引数と同名のメンバ名が存在していますが、 メンバ名は変わらずに指定の変数だけがリネームされています。
使用方法
リネームしたい変数の位置にカーソルを合せ、次のいずれかを実行します。
- M-x lctags-rename-at
- C-c l r r
mini-buffer に変数名が表示されるので、これを編集し RET します。
指定された変数名に置換されます。
このとき、置換された変数はハイライト表示されます。
制限
lctags は、リネーム対象を引数と変数に制限しています。 そのため、メンバーや関数等のリネームはできません。