Bagikan melalui


Membuat ekstensi dengan perintah menu

Panduan ini menunjukkan cara membuat ekstensi dengan perintah menu yang meluncurkan Notepad.

Membuat perintah menu

  1. Buat proyek VSIX bernama FirstMenuCommand. Anda dapat menemukan templat proyek VSIX di dialog Proyek Baru dengan mencari "vsix".

  2. Saat proyek terbuka, tambahkan templat item perintah kustom bernama FirstCommand. Di Solution Explorer, klik kanan node proyek dan pilih Tambah>Item Baru. Dalam dialog Tambahkan Item Baru, buka Item C#>Ekstensibilitas dan pilih Command. Di bidang Nama di bagian bawah jendela, ubah nama file perintah menjadi FirstCommand.cs.

  3. Buat proyek dan mulai debug.

    Instans eksperimental Visual Studio muncul. Untuk informasi selengkapnya tentang instans eksperimental, lihat Instans eksperimental.

  4. Dalam instans eksperimental, buka jendela Kelola Ekstensi Ekstensi>. Anda akan melihat ekstensi FirstMenuCommand di sini. (Jika Anda membuka Mengelola Ekstensi dalam instans kerja Visual Studio, Anda tidak akan melihat FirstMenuCommand).

Sekarang buka menu Alat di instans eksperimental. Anda akan melihat perintah Invoke FirstCommand. Pada titik ini, perintah memunculkan kotak pesan yang mengatakan FirstCommand Inside FirstMenuCommand.FirstCommand.MenuItemCallback(). Kita akan melihat cara benar-benar memulai Notepad dari perintah ini di bagian berikutnya.

Mengubah pengendali perintah menu

Sekarang mari kita perbarui handler perintah untuk memulai Notepad.

  1. Hentikan debugging dan kembali ke instance kerja Visual Studio Anda. Buka file FirstCommand.cs dan tambahkan pernyataan penggunaan berikut:

    using System.Diagnostics;
    
  2. Temukan konstruktor FirstCommand privat. Di sinilah perintah dikaitkan ke layanan perintah dan handler perintah ditentukan. Ubah nama handler perintah menjadi StartNotepad, sebagai berikut:

    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. Hapus metode Execute dan tambahkan metode StartNotepad, yang hanya akan memulai Notepad:

    private void StartNotepad(object sender, EventArgs e)
    {
        ThreadHelper.ThrowIfNotOnUIThread();
    
        Process proc = new Process();
        proc.StartInfo.FileName = "notepad.exe";
        proc.Start();
    }
    
  4. Sekarang cobalah. Saat Anda mulai men-debug proyek dan mengklik Alat >Panggil FirstCommand, Anda akan melihat instans Notepad muncul.

    Anda dapat menggunakan instans kelas Process untuk menjalankan executable apa pun, bukan hanya Notepad. Cobalah dengan calc.exe, misalnya.

Membersihkan lingkungan eksperimental

Jika Anda mengembangkan beberapa ekstensi, atau hanya menjelajahi hasil dengan versi kode ekstensi yang berbeda, lingkungan eksperimental Anda mungkin berhenti bekerja seperti yang seharusnya. Dalam hal ini, Anda harus menjalankan skrip reset. Ini diberi nama Reset Instans Eksperimental Visual Studio, dan disertakan sebagai bagian dari Visual Studio SDK. Skrip ini menghapus semua referensi ke ekstensi Anda dari lingkungan eksperimental, sehingga Anda dapat memulai dari awal.

Anda bisa mendapatkan skrip ini dengan salah satu dari dua cara:

  1. Di desktop, temukan Reset Visual Studio Instans Eksperimental.

  2. Dari baris perintah, jalankan perintah CreateExpInstance.exe . Ini terletak di folder penginstalan Visual Studio di bawah VSSDK\Common\Tools\Bin. Anda dapat membuat jalur lengkap dan mengapit jalur lengkap dalam tanda kutip untuk memanggilnya. Misalnya, jika Visual Studio diinstal ke C:\Program Files\Microsoft Visual Studio\2022\Community, maka perintahnya adalah:

    "C:\Program Files\Microsoft Visual Studio\2022\Community\CreateExpInstance.exe" /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
    
    
  1. Di desktop, temukan Reset Visual Studio Instans Eksperimental.

  2. Dari baris perintah, jalankan perintah CreateExpInstance.exe . Ini terletak di folder penginstalan Visual Studio di bawah VSSDK\Common\Tools\Bin. Anda dapat membuat jalur lengkap dan mengapit jalur lengkap dalam tanda kutip untuk memanggilnya. Misalnya, jika Visual Studio diinstal ke C:\Program Files\Microsoft Visual Studio\18\Community, maka perintahnya adalah:

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

Menyebarkan ekstensi Anda

Sekarang setelah Anda memiliki ekstensi alat yang berjalan seperti yang Anda inginkan, saatnya untuk mempertimbangkan untuk berbagi dengan teman dan kolega Anda. Itu mudah, selama visual Studio 2015 terinstal. Yang harus Anda lakukan adalah mengirimi mereka file .vsix yang Anda buat. (Pastikan untuk membangunnya dalam mode Release.)

Anda dapat menemukan file .vsix untuk ekstensi ini di direktori bin FirstMenuCommand. Secara khusus, dengan asumsi Anda telah membangun konfigurasi Rilis, konfigurasi tersebut akan berada di:

<direktori kode>\FirstMenuCommand\FirstMenuCommand\bin\Release\FirstMenuCommand.vsix

Untuk menginstal ekstensi, teman Anda perlu menutup semua instans Visual Studio yang terbuka, lalu klik dua kali file .vsix, yang memunculkan VSIX Installer. File disalin ke direktori %LocalAppData%\Microsoft\VisualStudio<versi>\Extensions.

Saat teman Anda memunculkan Visual Studio lagi, mereka akan menemukan ekstensi FirstMenuCommand di Alat>Ekstensi dan Pembaruan. Mereka dapat masuk ke ekstensi dan Pembaruan untuk menghapus instalasi atau menonaktifkan ekstensi juga.

Langkah berikutnya

Panduan ini telah menunjukkan kepada Anda hanya sebagian kecil dari apa yang dapat Anda lakukan dengan ekstensi Visual Studio. Berikut adalah daftar singkat hal lain (cukup mudah) yang dapat Anda lakukan dengan ekstensi Visual Studio:

  1. Anda dapat melakukan lebih banyak hal dengan perintah menu sederhana:

    1. Tambahkan ikon Anda sendiri: Tambahkan ikon ke perintah menu

    2. Mengubah teks perintah menu: Mengubah teks perintah menu

    3. Menambahkan pintasan menu ke perintah: Mengikat pintasan keyboard ke item menu

  2. Menambahkan berbagai jenis perintah, menu, dan toolbar: Perluas menu dan perintah

  3. Tambahkan jendela alat dan perluas jendela alat Visual Studio bawaan: Perluas dan Sesuaikan jendela alat

  4. Tambahkan IntelliSense, saran kode, dan fitur lain ke editor kode yang ada: Perluas editor dan layanan bahasa

  5. Tambahkan halaman Opsi dan Properti serta pengaturan pengguna ke ekstensi Anda: Perluas properti dan jendela Properti dan Perluas pengaturan dan opsi pengguna

    Jenis ekstensi lain memerlukan sedikit lebih banyak pekerjaan, seperti membuat jenis proyek baru (Memperluas proyek), atau membuat jenis editor baru (Membuat editor dan desainer kustom).