ItemOperations.AddNewItem 方法

将新项添加到当前项目中。

命名空间:  EnvDTE
程序集:  EnvDTE(在 EnvDTE.dll 中)

语法

声明
Function AddNewItem ( _
    Item As String, _
    Name As String _
) As ProjectItem
ProjectItem AddNewItem(
    string Item,
    string Name
)
ProjectItem^ AddNewItem(
    [InAttribute] String^ Item, 
    [InAttribute] String^ Name
)
abstract AddNewItem : 
        Item:string * 
        Name:string -> ProjectItem
function AddNewItem(
    Item : String, 
    Name : String
) : ProjectItem

参数

  • Item
    类型:String

    可选。 指向项的虚拟路径,该路径基于 UI 资源字符串(在下面的“备注”部分进行了定义),有时也如**“新建文件”**对话框的内容中所示,其格式为“category\templatename”。 Category 来自对话框的左窗格,templatename 来自右窗格。 例如,若要向 Visual Basic 项目中添加一个新的 HTML 文件,应使用“General\HTML Page”。有关更多信息,请参见备注部分。

  • Name
    类型:String

    可选。 项添加到项目时使用的显示名称。

返回值

类型:EnvDTE.ProjectItem
一个 ProjectItem 对象。

备注

AddNewItem 模仿**“新建文件”对话框。 此对话框的内容因项目类型而异。 有两种方式可用于确定要放在 Item 参数中的值:在“新建文件”**对话框中查阅值,或在适当的 UI 资源文件中查阅值。

若要使用第一种方法将项添加到某些项目中,请在**“新建文件”**对话框中查看该项目的可用项。 “新建文件”对话框有两个窗格:“类别”“模板”。 AddNewItem 方法的 Item 参数采用

按 "category\templatename" 格式。 Category通常来自对话框的左窗格(“类别”),templatename 来自右窗格(“模版”)。 例如,若要向 Visual Basic 项目中添加一个新的 HTML 文件,应使用“General\HTML Page”。但是由于语言的差异,**“新建文件”**对话框中不能总是准确反映该参数的精确值。

获取 Item 参数的精确值的更一致和可靠的方法是,在每个编程语言的 UI 资源文件中查阅必需的字符串。 然后,将该值和要添加的项的名称结合使用,如在**“新建文件”“添加新项”**对话框中显示的那样。 例如,要向项目中添加新的 Visual Basic 类文件,可以使用 AddNewItem("Visual Basic Items\Class", "test.vb")。 要向项目中添加新的 Visual C# 类文件,可以使用 AddNewItem("Visual C# Project Items\Class", test.cs");。

可以通过以下方式找到字符串“Visual Basic 项”(以及其他语言项):

  • 对于 Visual Basic 文件,打开以下注册表项:HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\8.0\Projects\{F184B08F-C81C-45f6-A57F-5ABD9991F28F}\AdditemTemplates\TemplateDirs\{164B10B9-B200-11D0-8C61-00A0C91E29D5}\ /1。 默认值为 #3082。

  • 在 Visual Studio 中使用资源编辑器打开文件 msvbprjui.dll。 为此,请浏览到该文件(选择“文件”->“打开”菜单上的“浏览...”),然后打开该文件。 打开“字符串表”节点,查找资源 ID 3082,它设置为“Visual Basic 项”。这是要放在 AddNewItem 调用中的字符串。 此过程同样适用于 Visual C#、Visual C++ 和 Visual C# 项目系统,只是要使用的文件名和资源 ID 不同。

下面是 UI 资源文件的资源 ID 和位置的列表:

编程语言

UI 文件名

类的资源 ID

Visual Basic

…\Program Files\Microsoft Visual Studio 8\VB\Bin\1033\msvbprojUI.dll

3082

Visual C#

…\Program Files\Microsoft Visual Studio 8\VC#\VCSPackages\1033\csprjui.dll

2346

Visual C++

…\Program Files\Microsoft Visual Studio 8\VC\vcpackages\1033\VCProjectUI.dll

10007

示例

Sub AddNewItemExample()
   Dim ItemOp As ItemOperations
   ItemOp = DTE.ItemOperations
   ItemOp.AddNewItem("General\Text File", "A new text file")
End Sub

.NET Framework 安全性

请参阅

参考

ItemOperations 接口

EnvDTE 命名空间