はじめに
Visual Studio Community 2013でC++のソースプログラムのリファクタリング(名前変更)を行う方法について書いています。
Microsoft Visual Studio Professional 2013 通常版
posted with amazlet at 15.05.30
マイクロソフト (2013-11-29)
売り上げランキング: 250
売り上げランキング: 250
ざっくり言うと
- Visual Studio 2013にはリファクタリングの機能がない。
- Visual C++ Refactoringという拡張機能でリファクタリングできる。
- Visual Studio 2015にはリファクタリング機能が搭載される模様。
変数名の変更
たとえば、以下のようなコードがあります。
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int i = 0; for(i=0;i<5;i++) { for(int i=0;i<10;i++) { printf("%d\n", i); } printf("%d\n", i); } return 0; }
このコード変数名とスコープに問題があって、C4258の警告が表示されます。
C4258: 'i' : for ループからの定義は無視されます。外側のスコープからの定義が使われます。
変数名が重複していなければ問題にならないので、変数の名前を一気に変更してみます。
Visual C++ Refactoring
Visual C++ RefactoringというVisual Studioの拡張機能(無料)を使うと、名前の変更ができます。
拡張機能をインストールしたら、Visual Studioを再起動します。リファクタリングしてみる
名前を変更したい変数を選択して、右クリックからリファクター(R)→名前の変更(R)を選択します。
以下のようなダイアログが表示され、あたらしい変数名を入力します。
一括変更する前のプレビュー画面が表示されます。この画面で変更する箇所が事前に確認できます。
変更されたソースコード
おわりに
Visual C++ Refactoringはリファクタリングといっても名前の変更にしか対応していません。
今後の開発が期待されますが、Visual Studio 2015にはリファクタリング機能が搭載される模様。