Share via


Solution2.FindProjectItem Method

Locates an item in a project.

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

Syntax

'Declaration
Function FindProjectItem ( _
    FileName As String _
) As ProjectItem
ProjectItem FindProjectItem(
    string FileName
)
ProjectItem^ FindProjectItem(
    String^ FileName
)
abstract FindProjectItem : 
        FileName:string -> ProjectItem
function FindProjectItem(
    FileName : String
) : ProjectItem

Parameters

  • FileName
    Type: String

    Required. The name of the project item.

Return Value

Type: EnvDTE.ProjectItem
A ProjectItem object.

Remarks

FindProjectItem performs an ItemOperations.OpenFile type search for the given file name. The first project found to have the item returns its ProjectItem object for the name. If the file is not found in the solution, nulla null reference (Nothing in Visual Basic) is returned.

Examples

For information on how to run this add-in code, see How to: Compile and Run the Automation Object Model Code Examples.

Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    SolnFindProjectItemExample(_applicationObject)
End Sub

Sub SolnFindProjectItemExample(ByVal dte As DTE2)
    ' This add-in finds a project item in a  solution.
    ' Make sure you have a solution open in Visual 
    ' Studio before running this example.
    Try
        Dim soln As Solution2 =  _
        CType(_applicationObject.Solution, Solution2)
        MsgBox("Finding a project item in the solution ")
        ' Find the specified project.
        Dim proj As ProjectItem
        proj = soln.FindProjectItem _
(soln.Projects.Item(1).ProjectItems.Item(1).Name.ToString())
        MsgBox(proj.Name.ToString())
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//you will need to add this to your project references
using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    CreateExample((DTE2)_applicationObject);
}

public void CreateExample(DTE2 dte)
{
    // This add-in finds a project item in a solution.
    // Open a solution in Visual Studio before running 
    // this example.
    try
    {
        Solution2 soln = (Solution2)_applicationObject.Solution;
        MessageBox.Show("Finding a project item in the solution.");
        ProjectItem proj;
        proj =
 soln.FindProjectItem
(soln.Projects.Item(1).ProjectItems.Item(1).Name.ToString());
        MessageBox.Show("The project item found is: " 
+ proj.Name.ToString());
    }
    catch (SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

.NET Framework Security

See Also

Reference

Solution2 Interface

EnvDTE80 Namespace