Çözüm Gezgini araç çubuğuna komut ekleme

Bu kılavuzda, Çözüm Gezgini araç çubuğuna düğme ekleme gösterilmektedir.

Araç çubuğundaki veya menüdeki herhangi bir komut, Visual Studio'da bir düğme olarak adlandırılır. Düğmeye tıklandığında, komut işleyicisindeki kod yürütülür. Genellikle, ilgili komutlar bir grup oluşturmak için birlikte gruplandırılır. Menüler veya araç çubukları, gruplar için kapsayıcı görevi görür. Öncelik, bir gruptaki komutların menüde veya araç çubuğunda hangi sırayla görüneceğini belirler. Görünürlüğünü denetleyerek bir düğmenin araç çubuğunda veya menüde görüntülenmesini engelleyebilirsiniz. .vsct dosyasının bir bölümünde listelenen bir <VisibilityConstraints> komut yalnızca ilişkili bağlamda görünür. Görünürlük gruplara uygulanamaz.

Menüler, araç çubuğu komutları ve .vsct dosyaları hakkında daha fazla bilgi için bkz . Komutlar, menüler ve araç çubukları.

Dekont

Menülerin ve komutların VSPackage'larınızda nasıl görüneceğini tanımlamak için komut tablosu yapılandırması (.ctc) dosyaları yerine XML Komut Tablosu (.vsct) dosyalarını kullanın. Daha fazla bilgi için bkz . Visual Studio Komut Tablosu (. Vsct) dosyaları.

Menü komutuyla uzantı oluşturma

adlı SolutionToolbarbir VSIX projesi oluşturun. ToolbarButton adlı bir menü komut öğesi şablonu ekleyin. Bunun nasıl yapılacağını öğrenmek için bkz . Menü komutuyla uzantı oluşturma.

Çözüm Gezgini araç çubuğuna düğme ekleme

İzlenecek kılavuzun bu bölümünde, Çözüm Gezgini araç çubuğuna nasıl düğme ekleneceği gösterilmektedir. Düğmeye tıklandığında geri çağırma yöntemindeki kod çalıştırılır.

  1. ToolbarButtonPackage.vsct dosyasında bölümüne <Symbols> gidin. Düğüm, <GuidSymbol> paket şablonu tarafından oluşturulan menü grubunu ve komutu içerir. Komutunu tutacak grubu bildirmek için bu düğüme bir <IDSymbol> öğe ekleyin.

    <IDSymbol name="SolutionToolbarGroup" value="0x0190"/>
    
  2. <Groups> bölümünde, var olan grup girdisinin ardından, önceki adımda bildirdiğiniz yeni grubu tanımlayın.

    <Group guid="guidToolbarButtonPackageCmdSet"
           id="SolutionToolbarGroup" priority="0xF000">
            <Parent guid="guidSHLMainMenu" id="IDM_VS_TOOL_PROJWIN"/>
          </Group>
    

    Üst GUID:ID çiftini guidSHLMainMenu olarak ayarlamak ve IDM_VS_TOOL_PROJWIN bu grubu Çözüm Gezgini araç çubuğuna yerleştirir ve yüksek öncelikli bir değer ayarlamak, bunu diğer komut gruplarının arkasına yerleştirir.

  3. <Buttons> bölümünde, oluşturulan <Button> girişin üst kimliğini önceki adımda tanımladığınız grubu yansıtacak şekilde değiştirin. Değiştirilen <Button> öğe şöyle görünmelidir:

    <Button guid="guidToolbarButtonPackageCmdSet" id="ToolbarButtonId" priority="0x0100" type="Button">
        <Parent guid="guidToolbarButtonPackageCmdSet" id="SolutionToolbarGroup" />
        <Icon guid="guidImages" id="bmpPicStrikethrough" />
        <Strings>
            <ButtonText>Invoke ToolbarButton</ButtonText>
        </Strings>
    </Button>
    
  4. Projeyi derleyin ve hata ayıklamaya başlayın. Deneysel örnek görüntülenir.

    Çözüm Gezgini araç çubuğunda mevcut düğmelerin sağındaki yeni komut düğmesi görüntülenmelidir. Düğme simgesi üstü çizilidir.

  5. Yeni düğmesine tıklayın.

    ToolbarButtonPackage Inside SolutionToolbar.ToolbarButton.MenuItemCallback() iletisini içeren bir iletişim kutusu görüntülenmelidir.

Düğmenin görünürlüğünü denetleme

İzlenecek kılavuzun bu bölümünde, araç çubuğundaki bir düğmenin görünürlüğünü denetleme gösterilmektedir. SolutionToolbar.vsct dosyasının <VisibilityConstraints> bölümündeki bir veya daha fazla projeye bağlam ayarlayarak, düğmeyi yalnızca bir proje veya proje açıkken görünecek şekilde kısıtlarsınız.

Bir veya daha fazla proje açıkken düğme görüntülemek için

  1. <Buttons> ToolbarButtonPackage.vsct bölümünde, ve <Icons> etiketleri arasına <Strings> mevcut <Button> öğeye iki komut bayrağı ekleyin.

    <CommandFlag>DefaultInvisible</CommandFlag>
    <CommandFlag>DynamicVisibility</CommandFlag>
    

    bölümdeki DefaultInvisible girişlerin etkili olabilmesi için ve DynamicVisibility bayrakları <VisibilityConstraints> ayarlanmalıdır.

  2. İki <VisibilityItem> girişi olan bir <VisibilityConstraints> bölüm oluşturun. Yeni bölümü kapanış </Commands> etiketinin hemen arkasına yerleştirin.

    <VisibilityConstraints>
        <VisibilityItem guid="guidToolbarButtonPackageCmdSet"
              id="ToolbarButtonId"
              context="UICONTEXT_SolutionHasSingleProject" />
        <VisibilityItem guid="guidToolbarButtonPackageCmdSet"
              id="ToolbarButtonId"
              context="UICONTEXT_SolutionHasMultipleProjects" />
    </VisibilityConstraints>
    

    Her görünürlük öğesi, belirtilen düğmenin görüntülendiği bir koşulu temsil eder. Birden çok koşul uygulamak için, aynı düğme için birden çok giriş oluşturmanız gerekir.

  3. Projeyi derleyin ve hata ayıklamaya başlayın. Deneysel örnek görüntülenir.

    Çözüm Gezgini araç çubuğunda üstü çizili düğme yoktur.

  4. Proje içeren herhangi bir çözümü açın.

    Üstü çizili düğmesi, mevcut düğmelerin sağındaki araç çubuğunda görünür.

  5. Dosya menüsünde Çözümü Kapat'a tıklayın. Düğme araç çubuğundan kaybolur.

    Düğmenin görünürlüğü, VSPackage yüklenene kadar Visual Studio tarafından denetlenmektedir. VSPackage yüklendikten sonra düğmenin görünürlüğü VSPackage tarafından denetlenebilir. Daha fazla bilgi için bkz . MenuCommands ve OleMenuCommands.