VSProjectItem Interface 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Contains the information specific to a Visual Basic or C# project item. It is returned by the Object of the ProjectItem object when the project is a Visual Basic or C# project.
public interface class VSProjectItempublic interface class VSProjectItem__interface VSProjectItem[System.Runtime.InteropServices.Guid("89FF44C6-979D-49B6-AF56-EC9509001DE4")]
[System.Runtime.InteropServices.TypeLibType(4160)]
public interface VSProjectItem[System.Runtime.InteropServices.Guid("89FF44C6-979D-49B6-AF56-EC9509001DE4")]
public interface VSProjectItem[<System.Runtime.InteropServices.Guid("89FF44C6-979D-49B6-AF56-EC9509001DE4")>]
[<System.Runtime.InteropServices.TypeLibType(4160)>]
type VSProjectItem = interface[<System.Runtime.InteropServices.Guid("89FF44C6-979D-49B6-AF56-EC9509001DE4")>]
type VSProjectItem = interfacePublic Interface VSProjectItem- Attributes
Examples
Whether a project item has been saved can be determined from the ProjectItem object. This example uses the ProjectItem of the VSProjectItem object to report whether an item has been saved since it was last changed.
' Macro Editor  
' Reports whether the specified project item has been saved since the   
' last change.  
Imports VSLangProj  
Sub IsItemSaved(ByVal aVSProjectItem As VSProjectItem)  
   If (aVSProjectItem.ProjectItem.Saved()) Then  
      MsgBox(aVSProjectItem.ProjectItem.Name & " is saved.")  
   Else  
      MsgBox(aVSProjectItem.ProjectItem.Name & " is not saved.")  
   End If  
End Sub  
Sub Test()  
   Dim pi As VSProjectItem  
   pi = CType(Dte.Solution.Projects.Item(1).ProjectItems.Item(1).Object, _  
      VSProjectItem)  
   IsItemSaved(pi)  
End Sub  
Remarks
The ProjectItems collection of a project contains the ProjectItem objects in the project. The Object property of the ProjectItem object returns an Object reference. The actual type of that reference depends on the project language. In the case of Visual Basic and C#, that object is a VSProjectItem object. To use the VSProjectItem class members, the Object property reference must be explicitly converted to VSProjectItem. The example below demonstrates this conversion using the Visual Basic CType function. The PrjKind enumeration is used to test for the project's type before the conversion.
Properties
| ContainingProject | Gets the project that the selected item is a part of. Read-only. | 
| DTE | Returns the top-level extensibility object. | 
| ProjectItem | Gets the ProjectItem object associated with the given object. | 
Methods
| RunCustomTool() | Runs the custom tool associated with a ProjectItem object. A custom tool is a registered component that implements the IVsSingleFileGenerator interface. Custom tools are similar to designers and editors. |