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
Vytvořte projekt doplňku Visual Studio pomocí Visual C#.
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.
Na začátek souboru Connect.cs přidejte následující příkazy using.
using VSLangProj; using VSLangProj2; using VSLangProj80;
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); }
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
Sestavte doplněk kliknutím na Sestavit řešení v nabídce Sestavení.
Otevřete projekt Visual C# nebo Visual Basic v IDE Visual Studio.
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
Přístup k projektu, položce projektu a k vlastnostem konfigurace specifickým pro typ projektu