Menü komutuyla uzantı oluşturma

Bu kılavuzda, Not Defteri'nin başlatıldığı menü komutuyla bir uzantının nasıl oluşturulacağı gösterilmektedir.

Menü komutu oluşturma

  1. FirstMenuCommandadlı bir VSIX projesi oluşturun. VSIX proje şablonunu yeni proje iletişim kutusunda "vsix" araması yaparak bulabilirsiniz.

  2. Proje açıldığında, firstCommand adlı özel bir komut öğesi şablonu ekleyin. Çözüm Gezginiiçinde proje düğümüne sağ tıklayın ve >Yeni Öğe Ekleseçin. Yeni Öğe Ekle iletişim kutusunda C# Öğeleri>Genişletilebilirlik gidin ve Commandöğesini seçin. Pencerenin en altındaki Adı alanında, komut dosyası adını FirstCommand.csolarak değiştirin.

  3. Projeyi derleyin ve hata ayıklamaya başlayın.

    Visual Studio'nun deneysel örneği görüntülenir. Deneysel örnek hakkında daha fazla bilgi için bkz. Deneysel örnek.

  4. Deneysel örnekte Uzantılar>Uzantıları Yönet penceresini açın. FirstMenuCommand uzantısını burada görmeniz gerekir. (Visual Studio'nun çalışma örneğinizde Uzantıları Yönet'i açarsanız, FirstMenuCommandöğesini görmezsiniz).

Şimdi deneysel örnekteki Araçları menüsüne gidin. firstCommand komutunu çağır görmeniz gerekir. Bu noktada komut, FirstCommand Inside FirstMenuCommand.FirstCommand.MenuItemCallback()yazan bir ileti kutusu getirir. Sonraki bölümde bu komuttan Not Defteri'ni nasıl başlatacağımızı göreceğiz.

Menü komut işleyicisini değiştirme

Şimdi Not Defteri'ni başlatmak için komut işleyicisini güncelleştirelim.

  1. Hata ayıklamayı durdurun ve Visual Studio'nun çalışma örneğine dönün. FirstCommand.cs dosyasını açın ve aşağıdaki using deyimini ekleyin:

    using System.Diagnostics;
    
  2. Özel FirstCommand oluşturucuyu bulun. Komut, komut hizmetine bağlandığı ve komut işleyicisinin belirtildiği yerdir. Komut işleyicisinin adını StartNotepad olarak aşağıdaki gibi değiştirin:

    private FirstCommand(AsyncPackage package, OleMenuCommandService commandService)
    {
        this.package = package ?? throw new ArgumentNullException(nameof(package));
        commandService = commandService ?? throw new ArgumentNullException(nameof(commandService));
    
        CommandID menuCommandID = new CommandID(CommandSet, CommandId);
        // Change to StartNotepad handler.
        MenuCommand menuItem = new MenuCommand(this.StartNotepad, menuCommandID);
        commandService.AddCommand(menuItem);
    }
    
  3. Execute yöntemini kaldırın ve Not Defteri'ni başlatacak bir StartNotepad yöntemi ekleyin:

    private void StartNotepad(object sender, EventArgs e)
    {
        ThreadHelper.ThrowIfNotOnUIThread();
    
        Process proc = new Process();
        proc.StartInfo.FileName = "notepad.exe";
        proc.Start();
    }
    
  4. Projede hata ayıklamaya başladığınızda ve Araçlar'dan>FirstCommand komutunuçağırdığınızda, bir Not Defteri örneğinin açıldığını görmeniz gerekir.

    Yalnızca Not Defteri'ni değil, herhangi bir yürütülebilir dosyayı çalıştırmak için Process sınıfının bir örneğini kullanabilirsiniz. Örneğin, calc.exeile deneyin.

Deneysel ortamı temizleme

Birden çok uzantı geliştiriyorsanız veya yalnızca uzantı kodunuzun farklı sürümleriyle sonuçları keşfediyorsanız, deneysel ortamınız gerektiği gibi çalışmayı durdurabilir. Bu durumda sıfırlama betiğini çalıştırmanız gerekir. Buna Visual Studio Deneysel Örneğini Sıfırlamaadı verilir ve Visual Studio SDK'sının bir parçası olarak dağıtılır. Bu betik, uzantılarınızla ilgili tüm referansları deneysel ortamdan kaldırır, böylece tekrardan başlayabilmeniz için.

Bu betiğe iki yoldan biriyle ulaşabilirsiniz:

  1. Masaüstünden Visual Studio Deneysel Örneğini Sıfırlaseçeneğini bulun.

  2. Komut satırından CreateExpInstance.exe komutunu çalıştırın. VSSDK\Common\Tools\Bin altındaki Visual Studio yükleme klasöründe bulunur. Tam yolunu oluşturabilir ve çağırmak için tam yolu tırnak içine alabilirsiniz. Örneğin, Visual Studio C:\Program Files\Microsoft Visual Studio\2022\Community'ye yüklendiyse, komut şu şekildedir:

    "C:\Program Files\Microsoft Visual Studio\2022\Community\CreateExpInstance.exe" /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
    
    
  1. Masaüstünden Visual Studio Deneysel Örneğini Sıfırlaseçeneğini bulun.

  2. Komut satırından CreateExpInstance.exe komutunu çalıştırın. VSSDK\Common\Tools\Bin altındaki Visual Studio yükleme klasöründe bulunur. Tam yolunu oluşturabilir ve çağırmak için tam yolu tırnak içine alabilirsiniz. Örneğin, Visual Studio C:\Program Files\Microsoft Visual Studio\18\Community'ye yüklendiyse, komut şu şekildedir:

    "C:\Program Files\Microsoft Visual Studio\18\Community\CreateExpInstance.exe" /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
    
    

Uzantınızı dağıtın

Artık araç uzantınızı istediğiniz gibi çalıştırdığınıza göre, artık bunu arkadaşlarınızla ve iş arkadaşlarınızla paylaşmayı düşünmenin zamanı geldi. Visual Studio 2015 yüklü olduğu sürece bu kolaydır. Tek yapmanız gereken, oluşturduğunuz .vsix dosyasını göndermektir. (Yayın modunda derlemeyi unutmayın.)

Bu uzantının .vsix dosyasını FirstMenuCommand bin dizininde bulabilirsiniz. Özellikle, Yayın yapılandırmasını oluşturduğunuzu varsayarsak, şu şekilde olacaktır:

<kod dizini>\FirstMenuCommand\FirstMenuCommand\bin\Release\FirstMenuCommand.vsix

Uzantıyı yüklemek için arkadaşınızın Visual Studio'nun tüm açık örneklerini kapatması ve ardından .vsix dosyasına çift tıklayarak VSIX Yükleyicisi'nigetirmesi gerekir. Dosyalar\Uzantılar <%LocalAppData%\Microsoft\VisualStudio>sürümüne kopyalanır.

Arkadaşınız Visual Studio'yu yeniden getirdiğinde, Araçları>Uzantılar ve GüncelleştirmelerfirstMenuCommand uzantısını bulur. Uzantıyı kaldırmak veya devre dışı bırakmak için Uzantılar ve Güncelleştirmeler gidebilirler.

Sonraki adımlar

Bu kılavuz, Visual Studio uzantısıyla neler yapabileceğinizin yalnızca küçük bir kısmını göstermiştir. Visual Studio uzantılarıyla yapabileceğiniz diğer (oldukça kolay) işlemlerin kısa bir listesi aşağıdadır:

  1. Basit bir menü komutuyla daha birçok şey yapabilirsiniz:

    1. Kendi simgenizi ekleyin: Menü komutlarına simge ekle

    2. Menü komutunun metnini değiştirme: Menü komutunun metnini değiştirme

    3. Komuta menü kısayolu ekleme: Klavye kısayollarını menü öğelerine bağlama

  2. Farklı türde komutlar, menüler ve araç çubukları ekleyin: Menüleri ve komutları genişlet

  3. Araç pencereleri ekleme ve yerleşik Visual Studio araç pencerelerini genişletme: Araç pencerelerini genişletme ve özelleştirme

  4. Mevcut kod düzenleyicilerine IntelliSense, kod önerileri ve diğer özellikleri ekleme: Düzenleyiciyi ve dil hizmetlerini genişletme

  5. Uzantınıza Seçenekler ve Özellik sayfaları ve kullanıcı ayarları ekleme: Özellikleri ve Özellik penceresini genişlet ve Kullanıcı ayarlarını ve seçeneklerini genişlet

    Yeni bir proje türü oluşturma (Projeleri genişletme) veya yeni bir düzenleyici türü oluşturma (Özel düzenleyiciler ve tasarımcılar oluşturma) gibi diğer uzantı türleri biraz daha fazla çalışma gerektirir.