一連のクラスを別のプロジェクトや名前空間に移動することを含む、アーキテクチャのクリーンアップを行っています。現在、ファイルを手動で移動し、ビルドしてから、必要に応じてFooステートメントを使用して手動で追加し、コンパイルエラーを解決しています。これを行うためのよりスマートな方法を知っている人はいますか?(私たちはCodeRush and Refactor!ショップですが、Resharperがこれをサポートしているかどうか知りたいです)
9 に答える
Visual Studio 2010 には、名前空間の名前を変更する機能があります。名前空間名の上にカーソルを置き、 を押しF2ます。Shiftまたは、コード内で名前を変更して+ Alt+F10を押すとEnter、赤い波線が表示されます。
Reharper は名前空間の名前を変更することもできます。見積もり:
名前空間の名前変更リファクタリングにより、ユーザーは特定の名前空間の名前を変更し、コード内の名前空間へのすべての参照を自動的に修正できます。次の用途の名前が変更されました。
- 名前空間ステートメント
- ディレクティブの使用
- 型の修飾名
コメントで述べたように、この答えは今では時代遅れです。以下の最新の回答をご覧ください
Resharperは、この機能を備えていることを私が知っている唯一のツールです。CodeRushとリファクタリングにはない他の多くの機能もあります!
この回答は、少なくとも Visual Studio 2013 および 2015 に適用され、リシャーパーは必要ありません
- クラスファイルを新しいフォルダーに移動する
- 「検索と置換」を開く
- 「ファイルで置換」を選択
- [検索対象] フィールドに元の名前空間の定義を入力します。
MyCorp.AppStuff.Api
- 「置換」フィールドに新しいネームスペース定義を入力します。
MyCorp.AppStuff.Api.Extensions
- [探す場所] フィールドの参照ボタン を使用して新しいフォルダーを選択する...か、フォルダー パスを入力します。
- Replace Allボタンを押します
リシャーパーあり: CTRL+ R+O
次に、下矢印キーを 2 回押して、[ Move Type To Another Namespace]を選択します。
上記の回答が提供されたので (私は推測しています)、この機能が CodeRush に追加されました。移動する型にカラットを配置するだけで、リファクタリングに [型を名前空間に移動] オプションが表示されます! コンテキストメニュー。これにより、型が新しい名前空間に移動され、参照が更新されます。ただし、名前空間の名前と一致するソリューション フォルダーにファイルを移動することもできます。