Visual Studio-Befehle Hinzufügen einer Startseite
Wenn Sie eine benutzerdefinierte Startseite erstellen, können Sie Visual Studio-Befehle hinzufügen. In diesem Dokument werden die verschiedenen Möglichkeiten, auf Visual Studio-Befehle XAML-Objekten auf einer Startseite zu binden.
Weitere Informationen über Befehle in XAML finden Sie unter Befehlsübersicht
Hinzufügen von Befehlen Befehls-Well
Startseiten Alias für Microsoft.VisualStudio.PlatformUI Projektvorlage definiert und die Microsoft.VisualStudio.Shell-Namespaces folgendermaßen aus.
Sie können den vs: Alias verwenden, um Visual Studio-Befehle zu XAML-Kontrollen auf der Seite zu binden, indem Sie die Command-Eigenschaft des Steuerelements auf vs:VSCommands.ExecuteCommandfestlegen. Sie können die CommandParameter-Eigenschaft auf den Namen des Befehls festlegen, wie im folgenden Beispiel auszuführen.
<Button Name="btnNewProj" Content="New Project"
Command="{x:Static vs:VSCommands.ExecuteCommand}"
CommandParameter="File.NewProject" >
</Button>
Hinweis
Der x: Alias, der das XAML-Schema verweist, ist am Anfang aller Befehle erforderlich.
Sie können den Wert der Command-Eigenschaft auf einen beliebigen Befehl festlegen, der vom Befehl Fenster zugegriffen werden kann. Eine Liste der verfügbaren Befehlen finden Sie unter Visual Studio Command Aliases.
Wenn der Befehl hinzuzufügen einen zusätzlichen Parameter benötigt, können Sie ihn dem Wert der CommandParameter-Eigenschaft hinzufügen. Trennen Sie Parameter von Befehlen mithilfe von Leerzeichen, wie im folgenden Beispiel gezeigt.
<Button Content="Web Search"
Command="{x:Static vs:VSCommands.ExecuteCommand}"
CommandParameter="View.WebBrowser www.bing.com" />
Aufrufen von Erweiterungen des Befehls-Well
Sie können Befehle von VSPackages registriertem aufrufen, indem Sie die gleiche Syntax verwenden, die verwendet wird, um andere Visual Studio-Befehle aufzurufen. Wenn beispielsweise ein VSPackage installiert Startseite dem Befehl Ansicht Menü hinzugefügt wird, können Sie diesen Befehl aufrufen, indem Sie CommandParameter zu View.HomePagefestlegen.
Hinweis
Wenn Sie einen Befehl aufrufen, der mit einem VSPackage zugeordnet ist, muss das Paket geladen werden, wenn der Befehl aufgerufen wird.
Um einen Befehl aufzurufen, der einem Add-In für Visual Studio zugeordnet ist, müssen Sie den vollständigen Namen des Befehls des Add-Ins verwenden. Weitere Informationen finden Sie unter Gewusst wie: Ausführen von Add-Ins in der Befehlszeile.
Befehle Hinzufügen von Assemblys
Um einen Befehl aus einer Assembly oder in einem VSPackage auf Code zum Aufrufen der nicht mit einem Menübefehl zugeordnet ist, müssen Sie einen Alias für die Assembly erstellen und den Alias aufrufen.
So fügen Sie einen Befehl aus einer Assembly aufrufen
In der Projektmappe fügen Sie einen Verweis auf die Assembly hinzu.
Fügen Sie am Anfang der StartPage.xaml-Datei Namespace fügen Sie Direktiven für die Assembly, wie im folgenden Beispiel gezeigt.
xmlns:vsc="clr-namespace:WebUserControl;assembly=WebUserControl"
Rufen Sie den Befehl erneut ein, indem Sie die Command-Eigenschaft eines XAML-Objekts, wie im folgenden Beispiel dargestellt festlegen.
XAML
<vs:Button Text="Hide me" Command="{x:Static vsc:HideControl}" .../>
Hinweis
Falls Sie die Projektvorlage Startseiten verwenden, müssen Sie die Assembly kopieren und dann einfügen.\ WirdOrdner Visual Studio-Installations\ Common7 \ IDE \ PrivateAssemblies \ er sich zu vergewissern geladen, bevor er aufgerufen wird.
Hinzufügen von Befehlen Automatisierungs-Modell
Sie können das Visual Studio-Automatisierungs Modells aus einer Startseite im Markup als auch im Code zugreifen.
Im Markup können Sie das Automatisierungsmodell zugreifen, indem Sie die Binding Markup Extension Syntax verwenden, um das DTE-Objekt aufzurufen. Wenn Sie diesen Ansatz verwenden, können Sie die Eigenschaften wie einfacher zu binden, die Auflistungen zurückgeben, aber nicht auf die Methoden oder Dienste gebunden werden können. Im folgenden Beispiel wird ein TextBlock-Steuerelement, das an Name die Eigenschaft gebunden ist, und ein ListBox-Steuerelement, das die Caption-Eigenschaften der Auflistung auflistet, die von der Windows-Eigenschaft zurückgegeben wurde.
<TextBlock Text="{Binding Path=DTE.Name}" FontSize="12" HorizontalAlignment="Center"/>
<ListBox ItemsSource="{Binding Path=DTE.Windows}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Caption}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
In Code können Sie die Methoden, die Dienste und komplexere Eigenschaften des Automatisierungsmodells dar, z. B. in einem Benutzersteuerelement oder in der Code-Behind-Datei für die XAML-Seite zugreifen. Führen Sie dazu die gleiche Weise wie bei jedem anderen Projekt, in dem das Automatisierungsmodell verwendet. Ein entsprechendes Beispiel finden Sie unter Exemplarische Vorgehensweise: Startseite auf einer Einsparungs-Benutzer-Einstellungen durch Automatisierung.
Weitere Informationen zum Automatisierungsmodell finden Sie unter Erweitern der Visual Studio-Umgebung oder Verweisen auf Automatisierungsassemblys und das DTE2-Objekt.k
Relative Pfade
Wenn Sie den Pfad Handakte aus einer Startseite, immer einen relativen Pfad verwenden, um unterschiedliche Systemkonfigurationen zu ermöglichen. Allerdings wird der Stamm aller relativen Pfade in einer Startseite \ StartPages \ nicht jedoch zum Ordner zu. auf. \Ordner Visual Studio-Installations\ Common7 \ IDE \ devenv.exe wird, der lokalisiert wird. Um einen Pfad relativ zum Speicherort der Dateien Startseiten festzulegen, verwenden Sie die VSStartPageRelativeConverter. Führen Sie dies, indem Sie die Source-Eigenschaft des Objekts zu vs:StartPageRelative, wie im folgenden Beispiel dargestellt festlegen.
<Image Source="{sp:StartPageRelative Image1.png}" Margin="20" />
StandardSyntax des relativen Pfads der Verwenden Sie diese Option, wenn Sie Ressourcen zugreifen, die in Visual Studio enthalten sind oder in anderen Dateien, die Pakete enthalten sind.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Hinzufügen eines DLL-Verweis zur Startseite