[VS2005]C++用リファクタリングツール RefactorCpp
Refactor!? for C++ と言う、C++用のリファクタリングツールを見つけました。
結構使えそうな感じです、少し試してみようと思います。
ちなみにVC8[VS2005]用です。
C++でこんな環境が出るのはとても嬉しいです。
Refactor! for C++
http://www.devexpress.com/Products/NET/IDETools/RefactorCPP/
●機能一覧 -Add Block Delimiters -Case to Conditional -Conditional to Case -Create Overload -Encapsulate Field -Extract Function (outside of class) -Extract Method -Introduce Constant -Move Method to Header -Move Method to Source File -Remove Block Delimiters -Rename -Reorder Parameters -Reverse Conditional -Simplify Expression -Widen Scope
●ダウンロードは上記URLから行ってください。
各種画面キャプチャ
![refac_001.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_001.png)
ちゃんとCPPファイルも書き換えてくれます。![refac_002.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_002.png)
![refac_003.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_003.png)
![refac_004.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_004.png)
ちゃんとスコープも見てくれます。
![refac_005.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_005.png)
![refac_008.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_008.png)
どこの場所に挿入するかも聞いてくれます。![refac_006.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_006.png)
![refac_007.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_007.png)
とうぜんヘッダも書き換えます。
![refac_009.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_009.png)
![refac_010.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_010.png)
![refac_011.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_011.png)
![refac_012.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_012.png)
![refac_013.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_013.png)
![refac_014.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_014.png)
![refac_015.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_015.png)
![refac_016.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_016.png)
![refac_017.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_017.png)
![refac_018.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_018.png)
![refac_019.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_019.png)
![refac_020.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_020.png)
参照している関数も入れ替えます。
●機能一覧 -Add Block Delimiters -Case to Conditional -Conditional to Case -Create Overload -Encapsulate Field -Extract Function (outside of class) -Extract Method -Introduce Constant -Move Method to Header -Move Method to Source File -Remove Block Delimiters -Rename -Reorder Parameters -Reverse Conditional -Simplify Expression -Widen Scope
●ダウンロードは上記URLから行ってください。
各種画面キャプチャ
クラス名の変更
![refac_001.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_001.png)
ちゃんとCPPファイルも書き換えてくれます。
![refac_002.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_002.png)
![refac_003.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_003.png)
変数名の変更
![refac_004.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_004.png)
ちゃんとスコープも見てくれます。
メソッドの展開
![refac_005.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_005.png)
![refac_008.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_008.png)
どこの場所に挿入するかも聞いてくれます。
![refac_006.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_006.png)
![refac_007.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_007.png)
とうぜんヘッダも書き換えます。
ブロックの展開・縮小
![refac_009.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_009.png)
![refac_010.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_010.png)
cppからhへ関数移動
![refac_011.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_011.png)
![refac_012.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_012.png)
hからcppへ関数移動
![refac_013.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_013.png)
定数化など
![refac_014.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_014.png)
変数のスコープ移動など
![refac_015.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_015.png)
![refac_016.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_016.png)
オーバーロードの作成
![refac_017.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_017.png)
![refac_018.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_018.png)
引数の順番入れ換え
![refac_019.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_019.png)
![refac_020.png](https://blog-imgs-41-origin.fc2.com/h/o/g/hogeinstein/refac_020.png)
参照している関数も入れ替えます。