Vytvoření rozšíření pomocí příkazu nabídky
Tento názorný postup ukazuje, jak vytvořit rozšíření pomocí příkazu nabídky, který spustí Poznámkový blok.
Příkaz Pro vytvoření nabídky
Vytvořte projekt VSIX s názvem FirstMenuCommand. Šablonu projektu VSIX najdete v dialogovém okně Nový projekt vyhledáním "vsix".
Po otevření projektu přidejte vlastní šablonu položky příkazu s názvem FirstCommand. V Průzkumník řešení klikněte pravým tlačítkem myši na uzel projektu a vyberte Přidat>novou položku. V dialogovém okně Přidat novou položku přejděte do rozšiřitelnosti položek>jazyka C# a vyberte Příkaz. V poli Název v dolní části okna změňte název souboru příkazu na FirstCommand.cs.
Sestavte projekt a spusťte ladění.
Zobrazí se experimentální instance sady Visual Studio. Další informace o experimentální instanci naleznete v tématu Experimentální instance.
V experimentální instanci otevřete okno Rozšíření>Spravovat rozšíření. Tady byste měli vidět rozšíření FirstMenuCommand . (Pokud otevřete Spravovat rozšíření v pracovní instanci sady Visual Studio, neuvidíte FirstMenuCommand).
Nyní přejděte do nabídky Nástroje v experimentální instanci. Měl by se zobrazit příkaz Invoke FirstCommand . V tomto okamžiku příkaz zobrazí okno se zprávou s textem FirstCommand Inside FirstMenuCommand.FirstCommand.MenuItemCallback(). V další části uvidíme, jak ve skutečnosti spustit Poznámkový blok z tohoto příkazu.
Změna obslužné rutiny příkazu nabídky
Teď aktualizujeme obslužnou rutinu příkazu, aby se spustil Poznámkový blok.
Zastavte ladění a vraťte se k funkční instanci sady Visual Studio. Otevřete soubor FirstCommand.cs a přidejte následující příkaz using:
using System.Diagnostics;
Vyhledejte privátní konstruktor FirstCommand. Tady se příkaz připojí ke službě příkazů a zadává se obslužná rutina příkazu. Změňte název obslužné rutiny příkazu na StartNotepad následujícím způsobem:
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); }
Odeberte metodu
Execute
a přidejte metoduStartNotepad
, která jednoduše spustí Poznámkový blok:private void StartNotepad(object sender, EventArgs e) { ThreadHelper.ThrowIfNotOnUIThread(); Process proc = new Process(); proc.StartInfo.FileName = "notepad.exe"; proc.Start(); }
Teď to zkuste. Když spustíte ladění projektu a kliknete na Nástroje>Invoke FirstCommand, měla by se zobrazit instance Poznámkového bloku.
Instanci třídy můžete použít ke spuštění libovolného spustitelného Process souboru, nejen poznámkového bloku. Zkuste to například pomocí
calc.exe
.
Vyčištění experimentálního prostředí
Pokud vyvíjíte více rozšíření nebo jen zkoumáte výsledky s různými verzemi kódu rozšíření, může experimentální prostředí přestat fungovat tak, jak by mělo. V tomto případě byste měli spustit skript pro resetování. Jmenuje se Resetovat experimentální instanci sady Visual Studio a dodává se jako součást sady Visual Studio SDK. Tento skript odebere všechny odkazy na vaše rozšíření z experimentálního prostředí, takže můžete začít úplně od začátku.
K tomuto skriptu se dostanete jedním ze dvou způsobů:
Na ploše vyhledejte resetování experimentální instance sady Visual Studio.
Z příkazového řádku spusťte následující příkaz:
<VSSDK installation>\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
Nasazení rozšíření
Teď, když máte rozšíření nástrojů spuštěné tak, jak chcete, je čas přemýšlet o sdílení s přáteli a kolegy. To je snadné, pokud jsou nainstalované sady Visual Studio 2015. Stačí jen odeslat soubor .vsix , který jste vytvořili. (Nezapomeňte ho sestavit v režimu vydání.)
Soubor .vsix pro tuto příponu najdete v adresáři FirstMenuCommand bin. Konkrétně za předpokladu, že jste vytvořili konfiguraci vydané verze, bude v:
<adresář> kódu\FirstMenuCommand\FirstMenuCommand\bin\Release\FirstMenuCommand.vsix
Pokud chcete nainstalovat rozšíření, musí váš přítel zavřít všechny otevřené instance sady Visual Studio a potom poklikejte na soubor .vsix , který zobrazí instalační program VSIX. Soubory se zkopírují do adresáře %LocalAppData%\Microsoft\VisualStudio<version>\Extensions .
Když váš přítel znovu otevře Visual Studio, najde rozšíření FirstMenuCommand v rozšířeních a aktualizacích nástrojů>. Můžou také přejít na rozšíření a aktualizace , aby rozšíření odinstalovali nebo zakázali.
Další kroky
Tento názorný postup vám ukázal jen malou část toho, co můžete dělat s rozšířením sady Visual Studio. Tady je krátký seznam dalších (přiměřeně snadných) věcí, které můžete dělat s rozšířeními sady Visual Studio:
Pomocí jednoduchého příkazu nabídky můžete dělat spoustu dalších věcí:
Přidání vlastní ikony: Přidání ikon do příkazů nabídky
Změna textu příkazu nabídky: Změna textu příkazu nabídky
Přidání zástupce nabídky do příkazu: Vytvoření vazby klávesových zkratek k položkám nabídky
Přidání různých typů příkazů, nabídek a panelů nástrojů: Rozšíření nabídek a příkazů
Přidání oken nástrojů a rozšíření integrovaných oken nástrojů sady Visual Studio: Rozšíření a přizpůsobení oken nástrojů
Přidání IntelliSense, návrhů kódu a dalších funkcí do existujících editorů kódu: Rozšíření editoru a jazykových služeb
Přidání možností a stránek vlastností a uživatelských nastavení do rozšíření: Rozšíření vlastností a okna Vlastnosti a rozšíření uživatelských nastavení a možností
Jiné druhy rozšíření vyžadují trochu víc práce, například vytvoření nového typu projektu (rozšíření projektů) nebo vytvoření nového typu editoru (vytváření vlastních editorů a návrhářů).