2009-08-23 4 views
38

Visual Studioで新しいクラスを作成するときに使用するデフォルトの名前空間を変更するにはどうすればよいですか?フォルダ内でクラスを作成するときにデフォルトの名前空間を変更する(Visual Studio)

背景:私のソリューションには、 "Model Base(Linq)"サブフォルダ "Extensions"を持つフォルダMyCompany.MyProject.Domainがあります。ここでは、すべての部分的なクラス拡張を保持しています。私はそこに新規の.csファイルを作成するとき

MyCompany.MyProject.Domain 
    + Model Base (Linq) 
     + Extensions 
      - Order.cs 
      - Trace.cs 

、名前空間は、\ _ \ _ LINQの\ _ \ _。拡張子は、私が唯一のそれになりたいMyCompany.MyProject.Domain.Model_Baseに設定されますMyCompany.MyProjectしかし、ドメイン。

このデフォルトの動作を変更するにはどうすればよいですか?

答えて

36

ここで思考の4校があります。それは手動で

  • 変更クラステンプレートを(または第二クラステンプレートをエクスポート)
  • 外のファイルを作成
  • それと一緒に暮らす

    • 編集サブディレクトリをドラッグしてから

    私は4番目を使用する傾向があります。それは編集よりも高速で、デフォルトの名前空間を変更するには、テンプレートに

  • +0

    新しいクラステンプレートの作成に関するヒントと、それをどのように達成するか? – Alex

    +2

    確か;ファイル→エクスポートテンプレート→アイテムテンプレート(そしてそれを編集します);しかし、あなたが使用できる置換トークンには不可解な黒い芸術があります。 ** root **テンプレートを使用することができますが、「最下位ディレクトリ以外のすべてのディレクトリ」の名前空間を選択するのは難しいでしょう。 –

    +0

    参照:http://visualstudiomagazine.com/articles/2008/09 /01/define-your-own-item-templates.aspx –

    5

    を変更するよりも少ない手間:

    右、プロジェクトをクリックしてプロパティにアクセスして、「アプリケーション」タブで「デフォルト名前空間は」ありフィールド。

    これはあなたの正確な質問には答えませんが、それはあなたのフォルダによって異なります。基本的には、そのフォルダの名前を 'Model'に変更する必要があります。

    +11

    これは彼の疑問に答えるものではありません。プロジェクト内のフォルダのデフォルトの名前空間を変更する方法を尋ねていますが、それはプロジェクト自体の名前空間ではなく困難です。 –

    +0

    @Chris:あなたは*私の返信を読みましたか?私はそれを述べた。 –

    +13

    私はそれを聞いていない質問への明らかな答えです... –

    3

    ReSharperがインストールされている場合は、ソリューション内の名前空間から除外してプロパティを選択するフォルダを右クリックします。プロパティペインでの名前空間プロバイダFalseに設定すると、新しいファイルに名前空間を生成するときにVisual Studioでフォルダが無視されます。

    Visual Studio solution folder properties pane.

    +0

    私はこのオプションが表示されても、私は常にVisual Studio 2015でReSharperを使用し、私は常にfalseに設定します...うまくいきません。新しいクラスを作成すると、名前空間はフォルダ名で終わります。 :(新しいクラスがフォームの場合、ソリューション全体が間違っています。 – tedebus

    1

    ReSharperのは、彼らが(VS2017のような)これを行う方法を変更しました。

    1. フォルダを追加します。
    2. あなたのファーストクラスを追加してください。
    3. 手動で名前空間を変更してください。 (通常、クラスがあるフォルダを表す名前空間の最後の部分を削除しています)
    4. 名前空間に下線が付けられ、フォルダ構造と一致しません。オプションをクリックして修正し、 "フォルダ '...'名前空間を導入しない 'を選択します。

    あなたのフォルダは、すべての新しいクラスの名前空間を期待するように設定されています。ただし、フォルダに新しいクラスを追加すると、上記の手順3で設定した名前空間ではないことが表示されるようになりました。

    したがって、手動で名前空間を変更する必要がありますが、少なくともresharperはあなたともう戦わないようにしています。

    関連する問題