Sdílet prostřednictvím


Postupy: Vlastnosti přístupu souborů pro konkrétní typy projektů

Můžete ručně nastavit a prozkoumat vlastnosti souboru nebo souborů v projektu v integrovaném vývojovém prostředí (IDE) Visual Studio.Chcete-li zkontrolovat vlastnosti souboru, otevřete projekt v Visual Studio, klikněte pravým tlačítkem myši na soubor projektu, například filename.cs v Průzkumníkovi řešení.Z místní nabídky vyberte Vlastnosti pro zobrazení dialogového okna Vlastnosti.Zobrazí se dialogové okno Vlastnosti s vlastnostmi souboru, které můžete ručně nastavit pro zvolený soubor.

Obor názvů VSLangProj80 poskytuje způsob, jak programově přistupovat k vlastnosti souboru v projektu Visual C# nebo Visual Basic.Konkrétně FileProperties2 definuje bohatou sadu vlastností pro řízení a získávání informací o souboru.Některé vlastnosti definované v FileProperties2 nejsou platné pro každý typ souboru.Například vlastnost DateCreated je definována v souborech s kódem, ale ne pro jiné soubory projektu.

Chcete-li získat přístup k určitým vlastnostem FileProperties2, musíte předat název konkrétní vlastnosti jako řetězec do EnvDTE.Property.Properties.Item(object index), jak je znázorněno v následujícím příkladu kódu.

Project project;
ProjectItems projItems;
ProjectItem projItem;
Property prop;
project = _applicationObject.Solution.Projects.Item(1);
projItems = project.ProjectItems;
projItem = projItems.Item(1);
prop = projItem.Properties.Item("FileName");

Tento kód přistupuje k vlastnosti FileName souboru v rámci projektu Visual C# nebo Visual Basic.

Ve skutečnosti konfigurační vlastnosti definované v FileProperties2 jsou referenční seznam dostupných vlastností pro konkrétní soubory, které mohou být přístupné jako vlastnost položek pro projekt Visual C# nebo Visual Basic.

Následující kroky podrobně popisují, jak získat programový přístup k vlastnostem souboru v doplňku Visual Studio.

[!POZNÁMKA]

Váš počítač může zobrazit jiné názvy nebo umístění pro některé prvky uživatelského rozhraní sady Visual Studio v následujících pokynech.Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením.Další informace naleznete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

Přístup k vlastnostem souboru pro konkrétní typ projektu

  1. Vytvořte projekt doplňku Visual Studio pomocí Visual C#.

  2. V nabídce Projekt klepněte na tlačítko Přidat odkaz, klepněte na kartu .NET, vyberte VSLangProj, VSLangProj2 a VSLangProj80 a klikněte na tlačítko OK.

  3. Na začátek souboru Connect.cs přidejte následující příkazy using.

    using VSLangProj;
    using VSLangProj2;
    using VSLangProj80;
    
  4. Přidejte následující volání metody do metody OnConnection.

    public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
    {
        _applicationObject = (DTE2)application;
        _addInInstance = (AddIn)addInInst;
        VSProjectFileProps2(_applicationObject);
    }
    
  5. Přidejte metodu VSProjectFileProps2 přímo pod metodu OnConnection.

    public void VSProjectFileProps2(DTE2 dte)
    {
        try
        {
            // Open a Visual C# or Visual Basic project
            // before running this add-in.
            Project project;
            ProjectItems projItems;
            ProjectItem projItem;
            Property prop;
            project = _applicationObject.Solution.Projects.Item(1);
            projItems = project.ProjectItems;
            for(int i = 1 ; i <= projItems.Count; i++ )
            {
                projItem = projItems.Item(i);
                prop = projItem.Properties.Item("FileName");
                MessageBox.Show("The file name of item " + i + " is: " 
    + prop.Value.ToString());
                if (prop.Value.ToString().Contains(".cs") 
    || prop.Value.ToString().Contains(".vb"))
                {
                    prop = projItem.Properties.Item("FileSize");
                    MessageBox.Show("The file size of item " + i + " 
    is: " + prop.Value.ToString());
                    prop = projItem.Properties.Item("DateCreated");
                    MessageBox.Show("The creation date of item " + i 
    + " is: " + prop.Value.ToString());
                }
            }
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

    Soubor VSProjectFileProps2 uvádí vlastnost FileName pro každý soubor v projektu.Metoda pak určuje, zda má soubor příponou .cs nebo .vb.Pokud ano, hodnoty vlastnosti Filesize a DateCreated se také zobrazují.

    Vzorový oddíl obsahuje kompletní kód

  6. Sestavte doplněk kliknutím na Sestavit řešení v nabídce Sestavení.

  7. Otevřete projekt Visual C# nebo Visual Basic v IDE Visual Studio.

  8. V nabídce Nástroje klepněte na tlačítko Správce doplňků a vyberte doplněk z dialogového okna Správce doplňků.Klepněte na tlačítko OK a spusťte tak doplněk.

Příklad

Následující příklad je základní doplněk Visual Studio, který ukazuje, jak přistupovat k vlastnosti souboru v konkrétním typu projektu pomocí automatizace Visual Studio.

using System;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    VSProjectFileProps2(_applicationObject);
}
public void VSProjectFileProps2(DTE2 dte)
{
    try
    {
        // Open a Visual C# or Visual Basic project
        // before running this add-in.
        Project project;
        ProjectItems projItems;
        ProjectItem projItem;
        Property prop;
        project = _applicationObject.Solution.Projects.Item(1);
        projItems = project.ProjectItems;
        for(int i = 1 ; i <= projItems.Count; i++ )
        {
            projItem = projItems.Item(i);
            prop = projItem.Properties.Item("FileName");
            MessageBox.Show("The file name of item " + i + " is: " 
+ prop.Value.ToString());
            if (prop.Value.ToString().Contains(".cs") 
|| prop.Value.ToString().Contains(".vb"))
            {
                prop = projItem.Properties.Item("FileSize");
                MessageBox.Show("The file size of item " + i + " is: "
 + prop.Value.ToString());
                prop = projItem.Properties.Item("DateCreated");
                MessageBox.Show("The creation date of item " + i 
+ " is: " + prop.Value.ToString());
            }
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
Imports System
Imports Microsoft.VisualStudio.CommandBars
Imports Extensibility
Imports EnvDTE
Imports EnvDTE80
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
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)
    VSProjectFileProperties2(_applicationObject)
End Sub
Sub VSProjectFileProperties2(ByVal dte As DTE2)
    ' Open a Visual C# or Visual Basic project
    ' before running this add-in.
    Try
        Dim project As Project
        Dim projItems As ProjectItems
        Dim projItem As ProjectItem
        Dim prop As [Property]
        project = _applicationObject.Solution.Projects.Item(1)
        projItems = project.ProjectItems
        For i As Integer = 1 To projItems.Count
            projItem = projItems.Item(i)
            prop = projItem.Properties.Item("FileName")
            MsgBox("The file name of item " & i & " is: "  _
            & prop.Value.ToString())
            If (prop.Value.ToString().Contains(".cs")  _
            Or prop.Value.ToString().Contains(".vb")) Then
                prop = projItem.Properties.Item("FileSize")
                MsgBox("The file size of item " & i & " is: "  _
                & prop.Value.ToString())
                prop = projItem.Properties.Item("DateCreated")
                MsgBox("The creation date of item " & i & " is: "  _
                & prop.Value.ToString())
            End If
        Next i
        Catch ex As System.Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

Probíhá kompilace kódu

Chcete-li tento kód zkompilovat, vytvořte nový projekt doplňku Visual Studio a nahraďte kód metody OnConnection kódem v příkladu.Další informace o spuštění doplňku naleznete v části Postupy: Řízení doplňků pomocí Správce doplňků.

Viz také

Další zdroje

Project Properties

Přístup k projektu, položce projektu a k vlastnostem konfigurace specifickým pro typ projektu