共用方式為


將 Visual Studio 命令加入至 [開始] 頁面

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

當您建立自訂起始頁時,您可以新增 Visual Studio 指令。 本文件討論將 Visual Studio 命令繫結至 XAML 物件的起始頁上的不同方式。

如需 XAML 中的命令的詳細資訊,請參閱命令概觀

也將命令加入命令

[開始] 頁面中建立建立自訂起始頁加入Microsoft.VisualStudio.PlatformUIMicrosoft.VisualStudio.Shell命名空間,如下所示。

xmlns:vs="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.14.0"  
xmlns:vsfx="clr-namespace:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.14.0"  

從組件 Microsoft.VisualStudio.Shell.Immutable.11.0.dll Microsoft.VisualStudio.Shell 加入另一個命名空間。 (您可能需要將此組件的參考加入專案中)。

xmlns:vscom="clr-namespace:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.Immutable.11.0"  

您可以使用vscom:繫結至 XAML 的 Visual Studio 命令別名控制頁面上,藉由設定命令屬性來控制vscom:VSCommands.ExecuteCommand。 然後您可以設定CommandParameter屬性來執行,如下列範例所示的命令名稱。

<Button Name="btnNewProj" Content="New Project"   
    Command="{x:Static vscom:VSCommands.ExecuteCommand}"  
    CommandParameter="File.NewProject" >  
</Button>  

注意

x:別名,這指的是 XAML 結構描述,是需要在所有命令的開頭。

您可以設定的值Command屬性可以存取從任何命令命令視窗。 如需可用命令的清單,請參閱Visual Studio 命令別名

如果要新增的命令需要額外的參數,可以將它的值加入CommandParameter屬性。 個別使用空格,如下列範例所示的命令參數。

<Button Content="Web Search"   
        Command="{x:Static vscom:VSCommands.ExecuteCommand}"  
        CommandParameter="View.WebBrowser www.bing.com" />  

從命令中也呼叫擴充功能

您可以使用相同的語法用來呼叫其他 Visual Studio 命令,從已註冊的 VSPackages 呼叫命令。 比方說,如果已安裝的 VSPackage 新增首頁命令檢視 功能表上,您可以呼叫該命令藉由設定CommandParameterView.HomePage

注意

如果您呼叫 VSPackage 相關聯的命令,叫用命令時必須載入封裝。

將命令加入的組件

若要從組件,或沒有關聯的功能表命令的 VSPackage 中存取程式碼呼叫的命令,您必須建立組件的別名,然後呼叫別名。

若要命令呼叫的組件

  1. 您在方案中加入組件的參考。

  2. StartPage.xaml 檔案的頂端,加入命名空間指示詞的組件,如下列範例所示。

    xmlns:vsc="clr-namespace:WebUserControl;assembly=WebUserControl"  
    
  3. 叫用該命令,藉由設定CommandXAML 物件,如下列範例所示的屬性。

    Xaml

    <vs:Button Text="Hide me" Command="{x:Static vsc:HideControl}" .../>  
    

注意

您必須複製組件,,然後將它貼...\ Visual Studio 安裝資料夾\Common7\IDE\PrivateAssemblies\ 以確定會在呼叫之前載入。

將命令加入與 DTE 物件

您可以從 [開始] 頁面上,在標記和程式碼中存取 DTE 物件。

在標記中,您可以存取它使用繫結標記延伸語法來呼叫DTE物件。 您可以使用這種方法來繫結至簡單的屬性,例如傳回的集合,但您無法繫結至方法或服務。 下列範例所示TextBlock繫結至控制項名稱屬性,以及ListBox列舉的控制項標題屬性所傳回之集合的Windows屬性。

<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  

如需範例,請參閱逐步解說︰ 入門 頁面上儲存使用者設定

另請參閱

將使用者控制項加入至 [開始] 頁面