2017-01-27 7 views
1

私は数百のクラスを持っていますが、それらはまだ名前空間に属していません。私はそれらを選択し、それらをすべて新しい名前空間に入れたいと思います。 Visual StudioやResharperのようなツールの助けを借りて、これを行う半自動化された方法はありますか?Visual Studioの名前空間に大きなファイルを入れる方法は?

すべてが変更されるわけではないので、名前空間に入れるファイルを選択できるようにする必要があります。最適なのは、プロジェクトで必要なものを選択し、選択されたファイルに名前空間宣言を追加するためのマクロアクションを打つだけです。

現在、クラス定義を選択してCTRL + K + Sを押して名前空間で囲むようにファイルを個別に開く作業を開始しましたが、数日かかることがあります。

+2

非常に簡単なC#プログラムのように聞こえます。それは単なるテキストファイルの操作です。プロジェクトファイルなどを更新する必要はありません。私はそれを自動化することができたら数日を手動でやることはしません! – itsme86

+1

この種の作業は、perlやsedのスクリプトFWIWには非常に典型的です。 C#は動作しますが、これらの言語はテキスト処理用に構築されています。 – BradleyDotNET

答えて

2

ファイルを、必要な名前空間を表すフォルダに移動し、ソリューションエクスプローラでフォルダを右クリックし、Refactor →名前空間を調整を選択します。 ReSharperはファイルの更新を促し、そのファイル内の名前空間を更新します。詳細は、Adjust Namesapcesのドキュメントを参照してください。

+0

ありがとう、これは私が欲しかったものです。私は他のコメントで示唆されているようにスクリプトを書くつもりでしたが、ReSharperを既に持っているので...素晴らしいです。 – Xarbrough

+0

ReSharperは現在、ファイルの保存場所を確認してから、フォルダ構造に名前空間を調整することによって、名前空間を「修正」することしかサポートしていません。これは必ずしも有用ではありません。たとえば、Unity3Dで作業する場合、フォルダ構造と名前空間を同期させることはほとんどありません。それでも、ReSharperを使って実際に名前空間宣言を生成し、正規表現の検索と置換を行って出力を調整するのはとても簡単でした。 – Xarbrough

+0

確かに。 ReSharperは、フォルダ構造上に名前空間名を設定します。フォルダが選択されたときに、プロパティウィンドウで「名前空間プロバイダ」プロパティをfalseに設定することによって、生成された名前からフォルダを削除できます。詳細については、[the docs](https://www.jetbrains.com/help/resharper/2016.3/CheckNamespace.html)を参照してください。 – citizenmatt

関連する問題