Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 添加新项时自动添加命名空间_Vb.net_Visual Studio 2008_Configuration_Namespaces - Fatal编程技术网

Vb.net 添加新项时自动添加命名空间

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

在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
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!