ProjectItems Interface

Contains ProjectItem objects, each representing items in the project.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Syntax

'Declaration
<GuidAttribute("8E2F1269-185E-43C7-8899-950AD2769CCF")> _
Public Interface ProjectItems _
    Inherits IEnumerable
[GuidAttribute("8E2F1269-185E-43C7-8899-950AD2769CCF")]
public interface ProjectItems : IEnumerable
[GuidAttribute(L"8E2F1269-185E-43C7-8899-950AD2769CCF")]
public interface class ProjectItems : IEnumerable
[<GuidAttribute("8E2F1269-185E-43C7-8899-950AD2769CCF")>]
type ProjectItems =  
    interface 
        interface IEnumerable 
    end
public interface ProjectItems extends IEnumerable

The ProjectItems type exposes the following members.

Properties

  Name Description
Public property ContainingProject Gets the project hosting the project item or items.
Public property Count Gets a value indicating the number of objects in the collection.
Public property DTE Gets the top-level extensibility object.
Public property Kind Gets an enumeration indicating the type of object.
Public property Parent Gets the immediate parent object of a ProjectItems collection.

Top

Methods

  Name Description
Public method AddFolder Creates a new folder in Solution Explorer.
Public method AddFromDirectory Adds one or more ProjectItem objects from a directory to the ProjectItems collection.
Public method AddFromFile Adds a project item from a file that is installed in a project directory structure.
Public method AddFromFileCopy Copies a source file and adds it to the project.
Public method AddFromTemplate Creates a new project item from an existing item template file and adds it to the project.
Public method GetEnumerator Returns an enumeration for items in a collection.
Public method Item Returns a ProjectItem object in a ProjectItems collection.

Top

Remarks

This collection consists of a hierarchical (nested) structure of cascading ProjectItems collections that represent items in each project.

Reference this collection using Solution.Item().ProjectItems.

Examples

' Before running, create a new project or open an existing project.
Sub ListProj()
   Dim proj As Project = DTE.ActiveSolutionProjects(0)
   Dim win As Window = _
     DTE.Windows.Item(Constants.vsWindowKindCommandWindow)
   ListProjAux(proj.ProjectItems(), 0)
End Sub

Sub ListProjAux(ByVal projitems As ProjectItems, ByVal Level As Integer)
   Dim projitem As ProjectItem
   For Each projitem In projitems
      MsgBox("Project item: " & projitem.Name, Level)
      ' Recurse if the project item has sub-items...
      Dim projitems2 As ProjectItems 
      projitems2 = projitem.ProjectItems
      Dim notsubcoll As Boolean = projitems2 Is Nothing
      If Not notsubcoll Then
         ListProjAux(projitems2, Level + 1)
      End If
   Next
End Sub

See Also

Reference

EnvDTE Namespace

Other Resources

Controlling Projects and Solutions

How to: Compile and Run the Automation Object Model Code Examples