在C#中添加新项目(类,控件等)时,它会根据项目中的位置自动为文件添加名称空间。
这也适用于VB.NET吗?
将生成代码'Namespace DataClasses.AX'和'End Namespace'。
Namespace DataClasses.AX
<Serializable()> _
Public Class AxInventItem
#Region " Constructors "
Sub New()
End Sub
#EndRegion
End Class
End Namespace
答案 0 :(得分:13)
你不会说你正在使用什么版本的视觉工作室,但默认情况下VS2008是可行的。
转到:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\VisualBasic\Code\1033\Class.zip
(如果这不存在,我会把你的内容发给你)。
在里面你会找到两个文件:Class.vb
和Class.vstemplate
打开Class.vb
(我提取它并在记事本++中编辑,但任何事情都可以)。
将其更改为:
Namespace $itemfolder$
Public Class $safeitemname$
End Class
End Namespace
关闭Visual stuid(所有实例)
保存并替换zip中的那个。
打开命令提示符(最简单的方法是使用visual studio命令提示符),然后运行以下命令:
devenv.exe /InstallVSTemplates
再次打开Visual Studio,创建一个空白项目并将一个文件夹添加到项目中,并在该文件夹中添加一个类,您将自动将命名空间添加到您的类文件中。
Class.vb:
Namespace $itemfolder$
''' <summary>
'''
''' </summary>
''' <remarks>Class Created by $username$ on $date$</remarks>
Public Class $safeitemname$
End Class
End Namespace
Class.vstemplate:
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name Package="{164B10B9-B200-11D0-8C61-00A0C91E29D5}" ID="3020" />
<Description Package="{164B10B9-B200-11D0-8C61-00A0C91E29D5}" ID="3021" />
<Icon Package="{164B10B9-B200-11D0-8C61-00A0C91E29D5}" ID="4510" />
<ProjectType>VisualBasic</ProjectType>
<SortOrder>100</SortOrder>
<DefaultName>Class.vb</DefaultName>
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
<TemplateID>Microsoft.VisualBasic.Code.Class</TemplateID>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
</TemplateData>
<TemplateContent>
<ProjectItem ReplaceParameters="true">Class.vb</ProjectItem>
</TemplateContent>
<WizardExtension>
<Assembly>VBClassTemplateWizard, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=f12a64f29cf5aee5</Assembly>
<FullClassName>VBClassTemplates.VBClassReplacements</FullClassName>
</WizardExtension>
</VSTemplate>
答案 1 :(得分:1)
这是Resharper的一部分,您可以在其中创建模板来执行此操作。
这是标准模板。
Namespace $NAMESPACE$
Public Class $CLASS$
$END$
End Class
End Namespace
答案 2 :(得分:1)
我猜你可以使用T4模板做同样的事情,或者调整那里的模板。但是T4尚未开放。据我所知。
答案 3 :(得分:0)
Visual Studio 2012: 在应用程序选项卡的项目属性中,有一个名为default namespace的字段。这会自动添加到项目内的文件中。
因此,当您想要在不同项目中引用某些内容时,您可以导入在那里定义的命名空间。因此,基本上没有必要操纵任何模板。