Aracılığıyla paylaş


Menü komutuyla uzantı oluşturma

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

Menü komutu oluşturma

  1. FirstMenuCommand adlı bir VSIX projesi oluşturun. "vsix" araması yaparak VSIX proje şablonunu Yeni Proje iletişim kutusunda bulabilirsiniz.

  2. Proje açıldığında FirstCommand adlı özel bir komut öğesi şablonu ekleyin. Çözüm Gezgini proje düğümüne sağ tıklayın ve Yeni Öğe Ekle'yi>seçin. Yeni Öğe Ekle iletişim kutusunda C# Öğeleri>Genişletilebilirliği'ne gidin ve Komut'a tıklayın. Pencerenin altındaki Ad alanında, komut dosyası adını FirstCommand.cs olarak 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. (Şunu açarsanız:Visual Studio'nun çalışan örneğinde Uzantıları Yönet seçeneğini görmüyorsanız FirstMenuCommand seçeneğini görmezsiniz.

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

Menü komut işleyicisini değiştirme

Şimdi Not Defteri 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ı aşağıdaki gibi Başlat Not Defteri olarak 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 yalnızca Not Defteri başlayacak bir StartNotepad yöntem ekleyin:

    private void StartNotepad(object sender, EventArgs e)
    {
        ThreadHelper.ThrowIfNotOnUIThread();
    
        Process proc = new Process();
        proc.StartInfo.FileName = "notepad.exe";
        proc.Start();
    }
    
  4. Şimdi deneyin. Projede hata ayıklamaya başladığınızda ve Araçlar>İlk Komutu Çağır'a tıkladığınızda, Not Defteri örneğinin geldiğini görmeniz gerekir.

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

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ırla adı verilir ve Visual Studio SDK'sının bir parçası olarak gönderilir. Bu betik, uzantılarınıza yönelik tüm başvuruları deneysel ortamdan kaldırır, böylece sıfırdan başlayabilirsiniz.

Bu betiği iki yoldan biriyle alabilirsiniz:

  1. Masaüstünden Visual Studio Deneysel Örneğini Sıfırla'yı bulun.

  2. Komut satırından aşağıdakileri çalıştırın:

    <VSSDK installation>\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
    
    

Uzantınızı dağıtma

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ı onlara 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:

<code directory>\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 Yükleyicisi'ni getiren .vsix dosyasına çift tıklaması gerekir. Dosyalar %LocalAppData%\Microsoft\VisualStudio<version>\Extensions dizinine kopyalanır.

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

Sonraki adımlar

Bu izlenecek yol, Visual Studio uzantısıyla yapabileceklerinin yalnızca küçük bir bölümü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 ekleme: Menü komutlarına simge ekleme

    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ı ekleme: Menüleri ve komutları genişletme

  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 özellikler 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şletme ve Kullanıcı ayarlarını ve seçeneklerini genişletme

    Diğer uzantı türleri, yeni bir proje türü oluşturma (Projeleri genişletme), yeni bir düzenleyici türü oluşturma (Özel düzenleyiciler ve tasarımcılar oluşturma) veya uzantınızı yalıtılmış bir kabukta uygulama gibi biraz daha fazla çalışma gerektirir: Visual Studio yalıtılmış kabuğu