Visual Studio には以前から「名前の変更」という機能がある。この機能を使ってエディタ上のボタン名や変数名やクラス名等を変更すると、その場所の名前だけでなく、関連する他の場所の名前も一斉に変更してくれるので非常に便利。一度使ったらやめられない。
「名前の変更」の機能は、しばしば「リファクタリング」というものの一例として紹介される。
リファクタリングとは、ネット検索して調べてみると、「プログラムの外部から見た動作を変えずにソースコードの内部構造を整理・改善すること」というように解説されている。
もっと分かりやすく言うと「プログラムの現在の動作に影響を与えずに、ソースコードを上手に整理・改善すること」かな?
しかし、先日から使い始めた Visual Studio 2017 でこの機能を使ってみようとしたら・・・以前と違うゾ。
以前は、変数名を変える場合、変数名のところにキャレットを置いて右クリックして「名前の変更」を選択すると、下図のようなダイアログが出た。
分かりやすい。説明はいらない(基本的には)。
ところが、Visual Studio 2017 で同様の操作をしたら、ちょっと離れた右上のほうに下図のようなモノが(コッソリと)出た。
なんだこれは? いつものダイアログに何があった!? Visual Studio のバグか!? 表示に異常が発生!?
パッと見た瞬間、新しい名前を入力するところが無いので悩む。とりあえず[適用]ボタンを押してみるが変化は無い。
結論から言うと、2017 からやり方が変わったらしい。新しい名前をダイアログに入力するのをやめて、エディタ上の名前を直接変更するやり方に変わった。
2017 での「名前の変更」のやり方は次の通り。
変更したい名前の上にキャレットを置いて右クリックし、[名前の変更]を選択する。
変更対象のテキストがハイライト表示されて、名前の変更ダイアログが右上に現れます。
ダイアログにあるオプションの「プレビューの変更」というのは、誤訳のようです。正しくは「変更をプレビューする」といったところでしょう。
変更対象のテキスト(ハイライトされているテキスト)を直接変更します。下図は「helpBtn_noKey」というテキストを「infoBtn_noKey」に変更した後のものです。
テキストを変更すると、ダイアログ上にも「新しい名前:〇〇〇」という表示が現れます。変更が終わったら、ダイアログの[適用]ボタンを押します。
ダイアログで「プレビューの変更」(正しくは「変更をプレビュー」)にチェックを入れていた場合は、下図のように、変更される個所の確認ダイアログが表示されます。
下図の上側のペイン(灰色背景の窓)で変更予定(候補)の個所を選択すると、その周辺のコードを下側のペインで確認できます。
私はダイアログで「文字列を含める」オプションにチェックを入れていたので、下図ではハードコードしたテキストも変更対象になっていることが分かります。
ダイアログで「プレビューの変更」(正しくは「変更をプレビュー」)にチェックを入れていない場合、上図の確認ダイアログは表示されず、即座にテキストの置換が実行されます。
しかし、この新しいやり方にメリットはあるのだろうか?
個人的には、「説明されなければ分からない操作」というのはどちらかというと支持しない。(表示されるダイアログに説明書きがあっても同様)
なぜか離れた場所に現れるダイアログもやりにくさを感じる。
加えて翻訳に不安を感じる(笑)。
少し使い続けたら、良さも分かるのかな。。。