在文件夹中创建类时更改默认命名空间(Visual Studio)

时间:2009-08-23 06:22:17

标签: c# visual-studio

如何更改在Visual Studio中创建新类时使用的默认命名空间?

背景:我的解决方案有一个项目MyCompany.MyProject.Domain,其中我有一个文件夹“Model Base(Linq)”,子文件夹“Extensions”,我保留所有部分类扩展。

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

当我在那里创建一个新的.cs文件时,命名空间被设置为MyCompany.MyProject.Domain.Model_Base \ _ \ _ _ Linq \ _ \ _。扩展名,我只希望它是MyCompany.MyProject.Domain.Model虽然。

如何更改此默认行为?

5 个答案:

答案 0 :(得分:41)

这里有4种思想流派:

  • 手动编辑
  • 和它一起生活
  • 更改类模板(或导出第二个类模板)
  • 在子目录外创建文件,然后将其拖入

我倾向于使用第4个;它比编辑更快,而且比更改模板更麻烦

答案 1 :(得分:8)

更改默认命名空间:

右键单击项目,转到属性,然后在“应用程序”选项卡下面有一个“默认命名空间”字段。

请注意,这并不能回答您的确切问题,具体取决于您的文件夹。您基本上需要将该文件夹重命名为“模型”。

答案 2 :(得分:4)

如果安装了ReSharper,请右键单击要从名称空间中排除的解决方案中的文件夹,然后选择属性。在属性窗格中,为命名空间提供程序选择False,这将使Visual Studio在新文件中生成名称空间时忽略该文件夹。

Visual Studio solution folder properties pane.

答案 3 :(得分:1)

Resharper改变了他们的做法(截至VS2017)。

  1. 添加您的文件夹。
  2. 添加您的第一堂课。
  3. 手动将名称空间更改为您想要的名称。 (通常是从名称空间中删除表示该类所在文件夹的最后一块。)
  4. 现在,命名空间将加下划线,表示它与文件夹结构不匹配。单击选项进行修复,然后选择“文件夹'...'不要引入命名空间”。
  5. 现在您的文件夹设置为期望所有新类的命名空间。但是,当您向该文件夹添加一个新类时,它现在会抱怨它不是您在上面的步骤#3中设置它的命名空间。

    所以,你仍然需要手动改变命名空间,但至少resharper不再试图打击你了。

答案 4 :(得分:0)

如果该文件夹下已有一个具有所需名称空间的类。您可以利用Move type to ClassName.cs灯泡建议。

例如,您在Order.cs文件夹下使用正确的命名空间MyCompany.MyProject.Domain.Model创建了Extensions。如果您想添加Trace类,您可以这样做:

enter image description here

Ctrl + .(当编辑光标位于class Trace字周围的任何地方时,将显示建议。

如此... Ctrl + . Down Down Enter

结果:

enter image description here