2009-05-19 3 views
1

私は、フォームのフォルダに100個のwinformがあるとします。すべてのフォームクラスはProjectName.Forms名前空間に属します。これらのフォームをすべてフォルダWinFormsに移動し、その名前空間をProjectName.WinFormsに変更したいとします。クラスを含むソースファイルのリストを別のフォルダに移動し、自動的に名前空間を変更します

手動で各フォームの名前空間を変更せずにこれを自動的に行う方法はありますか?私はResharperを持っていますが、助けになるオプションは見つかりませんでした。

ありがとうございます。

答えて

1

Visual Studioの[ファイル内で置換]コマンドを実際に使用することができます。 [編集]メニューの[検索と置換] - > [ファイルの置換]の順にクリックします。

[ルックイン]ドロップダウンの隣には、ビルダーボタンがあります。 。あなたはあなたが見てみたいフォルダを指定できるウィンドウが表示されますクリックする

はここscreenieです:

あなたがファイルに置き換えて、特定のフォルダへの交換を制限する使用することができます

alt text http://img148.imageshack.us/img148/5472/replaceinfiles.png

+0

この方法には1つの問題があります。これらのフォームへのすべての参照(用途)をProjectName.FormsからProjectName.WinFormsに変更する必要があります。私は、この「検索と置換」操作の後、私のプロジェクトはコンパイルされず、「タイプまたは名前空間が見つかりませんでした」という数十のエラーがあることを意味します。 – nightcoder

+0

このような理由から、とにかく普及している広範な参考文献を使用するべきではありません。 – womp

1

これらのタイプのシナリオでは、通常、私はいくつかのシェルスクリプトマジック(cygwinやPerlなどが必要です)を使用します。次のようなもの:

for i; *; perl -pi -e 's/ProjectName.Forms/ProjectName.WinForms/g' $ i;を実行します。 done

私は、VSにはおそらく何らかの広範な検索機能が組み込まれていると思います。

1

また、不要な置換を避けるような単語全体に一致させることができます。

最初に、すべての 'ProjectName.Forms'名前空間を 'namespace ProjectName.WinForms'に置き換えます。次に、依存コードがある場合は 'ProjectName.Formsを使用します。' 「ProjectName.WinFormsを使用して」;その中で。

(編集:C#を想定)