Vb.net 添加新项时自动添加命名空间
在C#中添加新项(类、控件等)时,它将根据项目中的位置自动向文件中添加名称空间 这也适用于VB.NET吗 将生成代码“Namespace DataClasses.AX”和“End Namespace”Vb.net 添加新项时自动添加命名空间,vb.net,visual-studio-2008,configuration,namespaces,Vb.net,Visual Studio 2008,Configuration,Namespaces,在C#中添加新项(类、控件等)时,它将根据项目中的位置自动向文件中添加名称空间 这也适用于VB.NET吗 将生成代码“Namespace DataClasses.AX”和“End Namespace” Namespace DataClasses.AX <Serializable()> _ Public Class AxInventItem #Region " Constructors " Sub New() End Sub #End
Namespace DataClasses.AX
<Serializable()> _
Public Class AxInventItem
#Region " Constructors "
Sub New()
End Sub
#EndRegion
End Class
End Namespace
Namespace DataClasses.AX
_
公共类AxInventItem
#地区“建设者”
次新
端接头
#端区
末级
结束命名空间
这是Resharper的一部分,您可以在其中创建模板来执行此操作
这是标准模板
Namespace $NAMESPACE$
Public Class $CLASS$
$END$
End Class
End Namespace
我想你可以使用T4模板来做同样的事情,或者调整现有的模板。但T4还不是很开放。据我所知。你没有说你使用的是什么版本的visual studio,但是VS2008默认情况下是可行的 转到:
C:\ProgramFiles\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\VisualBasic\code\1033\Class.zip
(如果不存在,我会将我的内容发布给你)
在里面你会发现两个文件:Class.vb
和Class.vstemplate
打开Class.vb
(我提取了它并用notepad++编辑,但任何东西都可以)。
将其更改为:
Namespace $itemfolder$
Public Class $safeitemname$
End Class
End Namespace
关闭Visual stuid(所有实例)
保存并替换拉链内的一个
打开命令提示符(最简单的方法是使用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
Namespace$itemfolder$
'''
'''
'''
''类由$username$在$date创建$
公共类$safeitemname$
末级
结束命名空间
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>
视觉的
100
Class.vb
1.
Microsoft.VisualBasic.Code.Class
2
Class.vb
VBClassTemplateWizard,版本=1.0.0.0,区域性=中性,PublicKeyToken=f12a64f29cf5aee5
VBClassTemplates.VBClassReplacements
Visual Studio 2012:
在“应用程序”选项卡的“项目属性”中,有一个名为“默认命名空间”的字段。这将自动添加到项目内的文件中
因此,当您希望引用其他项目中的某个内容时,可以导入在其中定义的命名空间。因此,我想基本上不需要操作任何模板。糟糕的是,我只获得了C版本。没想到我会参加VB.NET:-)。也许我可以升级。模板是如何工作的?与C#file templates.K一样,即使在VB.NET中也能工作。这不完全是我想要的,但作为替代方案很好。在这里,您仍然需要键入名称空间名称,它只会为您保存
名称空间
关键字。我使用的是VS2008。找不到templete参数$itemfolder$,但您让我朝着正确的方向看,我现在使用$rootnamespace$,就像C#一样。只有C#还将文件夹添加为命名空间的一部分。你能发布Class.vb和Class.vstemplate的内容吗?我讨厌necro post,但是,如果我没有弄错的话,添加namespace$rootnamespace$
是个坏主意,因为在vb.Net中,根命名空间会自动添加到所有内容中。您将得到MyProjectNS.MyProjectNS.MyClass
@MHillis:$rootnamespace$
将考虑项目的根命名空间。Microsoft Visual Studio-----------------错误:此模板试图加载不受信任的组件“VBClassTemplateWizard”,版本=1.0.0,区域性=中性,PublicKeyToken=f12a64f29cf5aee5'。有关此问题以及如何启用此模板的详细信息,请参阅有关自定义项目模板的文档。最好不要使用VB.NET!