Postupy: Vytvoření a řízení oken nástrojů
Doplňky Visual Studio jsou ve verzi sady Visual Studio 2013 zastaralé.Měli byste upgradovat doplňky na rozšíření VSPackage.Další informace o upgradu najdete v tématu Nejčastější dotazy: Převádění doplňků na rozšíření VSPackage.
Okna v sadě Visual Studio spadají do jedné ze dvou kategorií: okna dokumentů nebo okna nástrojů.Okno dokumentu je okno, jehož obsah lze upravit pomocí editoru kódu, například textový soubor, soubor HTML nebo kód uvnitř třídy.Okno nástroje obsahuje jeden nebo více ovládacích prvků, například tlačítka, text, pole se seznamem a tak dále.Integrované vývojové prostředí (IDE) sady Visual Studio používá ovládací prvky k provádění úkolů, například nastavení možností, zobrazení chyb a úpravy prvků projektu.Některé příklady lze nalézt v okně Výstup, v nabídce Seznam úkolů a na panelu Panel nástrojů.Panel nástrojů lze v rámci rozhraní IDE libovolně přesouvat nebo jej lze přichytit k ostatním oknům nástrojů a pomocí kolekce LinkedWindows lze v rámci rozhraní IDE programově připojit nebo odpojit okna nástrojů.Další informace naleznete v tématu Postupy: Změna charakteristik okna.
Kromě použití automatizace k manipulaci s existujícími okny nástrojů lze vytvářet vlastní okna nástrojů pomocí metody CreateToolWindow2 nacházející se v kolekci Windows2.
Při vytvoření vlastního okna nástroje jej lze naplnit užitečnými ovládacími prvky, které budou sloužit pro provádění úkolů.Vlastní okno nástroje lze například použít pro zobrazení specializovaných nástrojů pro formátování kódu, sledování a změnu nastavení proměnných nebo pro vykonání rozšířených úloh ladění nebo profilování prostředků.
Postup pro vytvoření vlastního okna nástroje je následující:
Vytvořte uživatelský ovládací prvek (pomocí projektu knihovny ovládacích prvků systému Windows)
Přidejte požadované ovládací prvky do formuláře (tlačítka, textová pole a tak dále) a kód.
Zkompilujte projekt do knihovny DLL.
Vytvořte nový projekt doplňku sady Visual Studio (nebo jiný projekt, jako například projekt aplikace pro systém Windows).
K vytvoření okna nástroje pro hostování nového uživatelského ovládacího prvku použijte metodu CreateToolWindow2.
Před vyvoláním metody CreateToolWindow2 pro vytvoření nového okna nástroje je třeba přesunout uživatelský ovládací prvek (ControlObject) do stejného sestavení, ve kterém se nachází doplněk, nebo jej nastavením všech atributů uživatelského ovládacího prvku aktivovat a úplně zobrazit v modelu COM.(Například zaškrtnutím možnosti Zaregistrovat pro spolupráci s COM v nastaveních kompilace projektu.) Není-li toto provedeno, nebude provedeno správné zařazení ovládacího prvku a CreateToolWindow2 vrátí hodnotu null.
Kromě níže uvedených příkladech ukázky okna Další nástroje pro jednotlivé jazyky, jakož i dalšími příklady kódu jsou na automatizace ukázek pro sadu Visual Studio webového serveru.
[!POZNÁMKA]
Při pokusu o nastavení stavů zobrazení v novém okně nástroje – například výška, šířka nebo pozice – předtím, než je okno nástroje viditelné, dojde k zobrazení chyby.Ujistěte se, že je před pokusem o nastavení těchto vlastností okno zobrazeno.
[!POZNÁMKA]
Dialogová okna a příkazy nabídek, které vidíte, se mohou lišit od těch popsaných v nápovědě v závislosti na aktivních nastaveních nebo edici.Tyto postupy byly vytvořeny s obecné nastavení pro vývoj aktivní.To change your settings, choose Import and ExportSettings on the Tools menu.Další informace naleznete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.
Vytvoření vlastního okna nástroje
Následující příklad ukazuje, jak vytvořit okno nástroje v jazyce Visual Basic a Visual C#.
[!POZNÁMKA]
Následující kód je nutné provést v doplňku, nelze jej provést v makru.
Vytvoření vlastního okna nástroje
Vytvořte uživatelský ovládací prvek v projektu knihovny ovládacích prvků systému Windows.Přijměte výchozí název „WindowsControlLibrary1“ nebo změňte název parametru asmPath v kódu níže tak, aby odpovídal názvu projektu knihovny ovládacích prvků systému Windows.
V kódu je také možné odkazovat na existující uživatelský ovládací prvek.
[!POZNÁMKA]
Třída uživatelského ovládacího prvku musí mít k definici třídy připojen atribut GuidAttribute.
Vytvořte nový projekt doplňku.
Informace naleznete v tématu Postupy: Vytvoření doplňku.
Nahraďte kód v metodě doplňku OnConnection následujícím kódem:
Public Sub OnConnection(ByVal application As Object, ByVal _ connectMode As ext_ConnectMode, ByVal addInInst As Object, _ ByRef custom As Array) Implements IDTExtensibility2.OnConnection Try ' ctlProgID - the ProgID for your user control. ' asmPath - the path to your user control DLL. ' guidStr - a unique GUID for the user control. Dim ctlProgID, asmPath, guidStr As String ' Variables for the new tool window that will hold ' your user control. Dim toolWins As EnvDTE80.Windows2 Dim toolWin As EnvDTE.Window Dim objTemp As Object = Nothing _applicationObject = CType(application, DTE2) _addInInstance = CType(addInInst, AddIn) ctlProgID = "WindowsControlLibrary2.UserControl1" ' Replace the <Path to VS Project> with the path to ' the folder where you created the WindowsCotrolLibrary. ' Remove the line returns from the path before ' running the add-in. asmPath = "<Path to VS Project>\My _ Documents\Visual Studio 2013\Projects\ _ WindowsControlLibrary2\WindowsControlLibrary2\_ bin\Debug\WindowsControlLibrary2.dll" guidStr = "{E9C60F2B-F01B-4e3e-A551-C09C62E5F584}" toolWins = CType(_applicationObject.Windows, Windows2) ' Create the new tool window, adding your user control. toolWin = toolWins.CreateToolWindow2(_addInInstance, _ asmPath, ctlProgID, "MyNewToolwindow", guidStr, objTemp) ' The tool window must be visible before you do anything ' with it, or you will get an error. If Not toolWin Is Nothing Then toolWin.Visible = True End If ' Uncomment the code below to set the new tool window's ' height and width, and to close it. ' MsgBox("Setting the height to 500 and width to 400...") ' toolWin.Height = 500 ' toolWin.Width = 400 ' MsgBox("Closing the tool window...") ' toolWin.Close(vsSaveChanges.vsSaveChangesNo) Catch ex As Exception MsgBox("Exception: " & ex.ToString) End Try End Sub
// Before running, add a reference to System.Windows.Forms, // using System.Windows.Forms, to the top of the class. public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { try { // ctlProgID - the ProgID for your user control. // asmPath - the path to your user control DLL. // guidStr - a unique GUID for the user control. string ctlProgID, asmPath, guidStr; // Variables for the new tool window that will hold // your user control. EnvDTE80.Windows2 toolWins; EnvDTE.Window toolWin; object objTemp = null; _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; ctlProgID = "WindowsControlLibrary2.UserControl1"; // Replace the <Path to VS Project> with the path to // the folder where you created the WindowsCotrolLibrary. // Remove the line returns from the path before // running the add-in. asmPath = @"c:\My Documents\Visual Studio 2013\Projects\ WindowsControlLibrary2\WindowsControlLibrary2\bin\ Debug\WindowsControlLibrary2.dll"; guidStr = "{E9C60F2B-F01B-4e3e-A551-C09C62E5F584}"; toolWins = (Windows2)_applicationObject.Windows; // Create the new tool window, adding your user control. toolWin = toolWins.CreateToolWindow2(_addInInstance, asmPath, ctlProgID, "MyNewToolwindow", guidStr, ref objTemp); // The tool window must be visible before you do anything // with it, or you will get an error. if (toolWin != null) { toolWin.Visible = true; } // Set the new tool window's height and width, // and then close it. System.Windows.Forms.MessageBox.Show("Setting the height to 500 and width to 400..."); toolWin.Height = 500; toolWin.Width = 400; System.Windows.Forms.MessageBox.Show ("Closing the tool window..."); toolWin.Close(vsSaveChanges.vsSaveChangesNo); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Exception: " + ex.Message); } }
Poznámka Předcházející kód vyžaduje odkaz na obor názvů System.Windows.Forms.
Změňte hodnoty proměnných ctlProgID, asmPath a guidStr tak, aby odrážely uživatelský ovládací prvek.
Vytvoření a spuštění projektu.
V nabídce Nástroje aktivujte doplněk kliknutím na položku Správce doplňků.
V rámci rozhraní IDE se zobrazí nové plovoucí okno nástroje.Lze jej přesunout na jakékoli místo nebo přichytit k ostatním oknům nástrojů.
Viz také
Úkoly
Postupy: Změna charakteristik okna
Koncepty
Graf modelu objektů automatizace