Udostępnij za pośrednictwem


Porady: uzyskiwanie dostępu do właściwości folderów dla specyficznych typów projektu

Możesz ręcznie ustawić i zbadać właściwości folderu po otwarciu projektu w zintegrowanym środowisku programistycznym (IDE) Visual Studio i kliknięciu prawym przyciskiem myszy folderu w Solution Explorer.W menu skrótów wybierz kliknij polecenie Właściwości, aby wyświetlić okno dialogowe Właściwości.

Przestrzeń nazwy VSLangProj80 oferuje możliwość programowego dostępu do właściwości folderu w projektach Visual C# lub Visual Basic.FolderProperties2 definiuje bogaty zestaw właściwości związanych z kontrolowaniem i dostępem do informacji o folderze.Wiele właściwości zdefiniowanych w obiekcie FolderProperties2 nie jest dostępnych ręcznie z okna Właściwości.

Aby uzyskać dostęp do określonej właściwości FolderProperties2, musisz przekazać nazwę konkretnej właściwości w formie ciągu do EnvDTE.Property.Properties.Item(object index), jak pokazano w poniższym przykładzie kodu.

Project project;
ProjectItem folder;
Properties folderProps;
Property prop;
project = _applicationObject.Solution.Projects.Item(1);
folder = project.ProjectItems.AddFolder("MyFolder"
,Constants.vsProjectItemKindPhysicalFolder);
folderProps = folder.Properties;
prop = folderProps.Item("FullPath");

Ten kod uzyskuje dostęp do właściwości FullPath folderu w projekcie Visual C# lub Visual Basic.

W praktyce właściwości konfiguracji zdefiniowane we właściwości FolderProperties2 są listą odwołań do dostępnych właściwości folderów, które są dostępne jako elementy właściwości dla projektów w języku Visual C# lub Visual Basic.

Poniższe kroki szczegółowo opisują jak programowo uzyskać dostęp do tych właściwości w dodatku Visual Studio.

[!UWAGA]

Komputer może polazać inne nazwy lub lokalizacje dla niektórych elementów interfejsu użytkownika Visual Studio w dalszych instrukcjach.Te elementy są determinowane przez numer edycji Twojego programu Visual Studio oraz Twoje ustawienia.Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Aby uzyskać dostęp do właściwości folderów dla określonego typu projektu

  1. Utwórz projekt dodatku Visual Studio korzystając z Visual C#.

  2. W menu Projekt kliknij polecenie Dodaj odwołanie, kliknij kartę .NET, zaznacz pozycje VSLangProj, VSLangProj2 i VSLangProj80, a następnie kliknij przycisk OK.

  3. Dodaj następujące za pomocą instrukcji na górze pliku Connect.cs.

    using VSLangProj;
    using VSLangProj2;
    using VSLangProj80;
    
  4. Dodaj następujące wywołanie metody do metody OnConnection.

    public void OnConnection(object application, 
    ext_ConnectMode connectMode, object addInInst, ref Array custom)
    {
        _applicationObject = (DTE2)application;
        _addInInstance = (AddIn)addInInst;
        VSProjectFolderProps2(_applicationObject);
    }
    
  5. Dodaj metodę VSProjectFolderProps2 bezpośrednio poniżej metody OnConnection.

    public void VSProjectFolderProps2(DTE2 dte)
    {
        try
        {
            // Open a Visual C# or Visual Basic project
            // before running this add-in.
            Project project;
            ProjectItem folder;
            Properties folderProps;
            Property prop;
            project = _applicationObject.Solution.Projects.Item(1);
            // Add a new folder to the project.
            MessageBox.Show("Adding a new folder to the project.");
            folder =
     project.ProjectItems.AddFolder("MyFolder",
    Constants.vsProjectItemKindPhysicalFolder);
            folderProps = folder.Properties;
            prop = folderProps.Item("FullPath");
            MessageBox.Show("The full path of the new folder is:" 
    + "\n" + prop.Value.ToString());
            prop = folderProps.Item("FileName");
            MessageBox.Show("The file name of the new folder is:" 
    + "\n" + prop.Value.ToString());
            prop = folderProps.Item("URL");
            MessageBox.Show("The new folder has the following URL:" 
    + "\n" + prop.Value.ToString());
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

    Sekcja przykład ukazuje kompletny kod.

  6. Tworzenie dodatku przez kliknięcie w menu Kompilacja opcji Kompiluj rozwiązanie.

  7. Otwórz Visual C# lub projekt Visual Basic w Visual Studio IDE.

  8. W menu Narzędzia, kliknij Menedżer dodatkówi wybierz swój dodatek z okna dialogowego Menedżer dodatków.Kliknij OK, aby uruchomić dodatek.

    Właściwości folderu dla FullPath, FileName, i URL są wyświetlane w polach wiadomości.

Przykład

Poniższy przykład to podstawowy dodatek Visual Studio, który demonstruje sposób uzyskiwania dostępu do właściwości folderu w określonym typie projektu za pomocą automatyzacji 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;
    VSProjectFolderProps2(_applicationObject);
}
public void VSProjectFolderProps2(DTE2 dte)
{
    try
    {
        // Open a Visual C# or Visual Basic project
        // before running this add-in.
        Project project;
        ProjectItem folder;
        Properties folderProps;
        Property prop;
        project = _applicationObject.Solution.Projects.Item(1);
        // Add a new folder to the project.
        MessageBox.Show("Adding a new folder to the project.");
        folder =
 project.ProjectItems.AddFolder("MyFolder"
,Constants.vsProjectItemKindPhysicalFolder);
        folderProps = folder.Properties;
        prop = folderProps.Item("FullPath");
        MessageBox.Show("The full path of the new folder is:" + "\n" 
+ prop.Value.ToString());
        prop = folderProps.Item("FileName");
        MessageBox.Show("The file name of the new folder is:" + "\n" 
+ prop.Value.ToString());
        prop = folderProps.Item("URL");
        MessageBox.Show("The new folder has the following URL:" 
+ "\n" + 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)
    VSProjectConfigProperties(_applicationObject)
End Sub
Sub VSProjectConfigProperties(ByVal dte As DTE2)
    ' Open a Visual C# or Visual Basic project
    ' before running this add-in.
    Try
        Dim project As Project
        Dim folder As ProjectItem
        Dim folderProps As Properties
        Dim prop As [Property]
        project = _applicationObject.Solution.Projects.Item(1)
        ' Add a new folder to the project.
        MsgBox("Adding a new folder to the project...")
        folder = project.ProjectItems.AddFolder("MyFolder" _
        , Constants.vsProjectItemKindPhysicalFolder)
        folderProps = folder.Properties
        prop = folderProps.Item("FullPath")
        MsgBox("The full path of the new folder is:" & vbCr _
        & prop.Value.ToString())
        prop = folderProps.Item("FileName")
        MsgBox("The file name of the new folder is:" & vbCr _
        & prop.Value.ToString())
        prop = folderProps.Item("URL")
        MsgBox("The new folder has the following URL:" & vbCr  _
        & prop.Value.ToString())
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub

Kompilowanie kodu

Aby skompilować ten kod, utwórz nowy projekt dodatku Visual Studio i zastąp kod metody OnConnection kodem w przykładzie.Aby uzyskać informacje na temat uruchamiania dodatku, zobacz Porady: kontrolowanie dodatków za pomocą menedżera dodatków.

Zobacz też

Inne zasoby

Project Properties

Uzyskiwanie dostępu do projektu określonego typu, elementu projektu i właściwości konfiguracji