Freigeben über


ModelingPackage-Klasse

Stellt beim Überschreiben in einer abgeleiteten Klasse ein VSPackage für den Designer der domänenspezifischen Sprache dar.

Diese API ist nicht CLS-kompatibel. 

Vererbungshierarchie

System.Object
  Microsoft.VisualStudio.Shell.Package
    Microsoft.VisualStudio.Modeling.Shell.ModelingPackage

Namespace:  Microsoft.VisualStudio.Modeling.Shell
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Syntax

'Declaration
<CLSCompliantAttribute(False)> _
<ComVisibleAttribute(True)> _
Public MustInherit Class ModelingPackage _
    Inherits Package _
    Implements IVsToolWindowFactory
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(true)]
public abstract class ModelingPackage : Package, 
    IVsToolWindowFactory

Der ModelingPackage-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Geschützte Methode ModelingPackage Initialisiert eine neue Instanz der ModelingPackage-Klasse.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft ApplicationRegistryRoot (Von Package geerbt.)
Öffentliche Eigenschaft Locator Ruft den Modellelementlocator ab, der Modellierungselemente im Paket sucht.
Geschützte Eigenschaft SetupMode Ruft das Modellierungspaket ab und überprüft, ob der domänenspezifische Sprachdesigner eingerichtet wird.
Öffentliche Eigenschaft UserDataPath (Von Package geerbt.)
Öffentliche Eigenschaft UserLocalDataPath (Von Package geerbt.)
Öffentliche Eigenschaft UserRegistryRoot (Von Package geerbt.)
Öffentliche Eigenschaft Zombied (Von Package geerbt.)

Zum Seitenanfang

Methoden

  Name Beschreibung
Geschützte Methode AddOptionKey (Von Package geerbt.)
Öffentliche MethodeStatischer Member AddOrReplaceToolboxItem Veraltet. Fügen Sie ein Toolboxelement hinzu, wenn es nicht vorhanden ist.Ersetzt ein vorhandenes Toolboxelement, wenn das Element bereits vorhanden ist
Geschützte Methode AddToolboxItems Fügen Sie die übergebene Sammlung von ModelingToolboxItemBase-Elementen der Visual Studio-Toolbox hinzu.
Geschützte Methode AddToolWindow Fügt ein Toolfenster dem generierten Designer für eine domänenspezfische Sprache hinzu.
Öffentliche Methode CreateInstance (Von Package geerbt.)
Geschützte Methode CreateLocator Stellt ein Modellelementlocator für das Paket.
Öffentliche Methode CreateTool (Von Package geerbt.)
Geschützte Methode CreateToolboxItems Erstellt die Elemente in der Toolbox.
Geschützte Methode CreateToolWindow(Type, Int32) (Von Package geerbt.)
Öffentliche Methode CreateToolWindow(Guid%, UInt32) Erstellt ein Toolfenster.
Geschützte Methode Dispose (Von Package geerbt.)
Öffentliche Methode Equals Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche Methode FindToolWindow (Von Package geerbt.)
Öffentliche Methode FindWindowPane (Von Package geerbt.)
Geschützte Methode GetAutomationObject (Von Package geerbt.)
Geschützte Methode GetDialogPage (Von Package geerbt.)
Öffentliche Methode GetHashCode Fungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche Methode GetOutputPane (Von Package geerbt.)
Öffentliche Methode GetProviderLocale (Von Package geerbt.)
Geschützte Methode GetService (Von Package geerbt.)
Geschützte Methode GetToolboxItemData (Von Package geerbt.)
Öffentliche Methode GetToolWindow(Type) Ruft ein Toolfenster ab.
Öffentliche Methode GetToolWindow(Type, Boolean) Ruft ein Toolfenster ab.
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode Initialize Initialisiert die ModelingPackage-Klasse. (Überschreibt Package.Initialize().)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode OnLoadOptions (Von Package geerbt.)
Geschützte Methode OnSaveOptions (Von Package geerbt.)
Geschützte Methode OnToolboxInitialized Ereignishandler für ToolboxInitialized-Ereignis Die dynamischen/benutzerdefinierten Toolbox-Elemente werden erneut registriert.
Geschützte Methode OnToolboxUpgraded Ereignishandler für ToolboxUpgraded-Ereignis Die dynamischen/benutzerdefinierten Toolbox-Elemente werden erneut registriert.
Geschützte Methode ParseToolboxResource(TextReader, ResourceManager) (Von Package geerbt.)
Geschützte Methode ParseToolboxResource(TextReader, Guid) (Von Package geerbt.)
Geschützte Methode QueryClose (Von Package geerbt.)
Geschützte Methode RegisterEditorFactory (Von Package geerbt.)
Geschützte Methode RegisterProjectFactory (Von Package geerbt.)
Geschützte Methode SetupDynamicToolbox Aktualisiert die Elemente in der Toolbox.
Öffentliche Methode ShowOptionPage (Von Package geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Ereignisse

  Name Beschreibung
Geschütztes Ereignis ToolboxInitialized (Von Package geerbt.)
Geschütztes Ereignis ToolboxUpgraded (Von Package geerbt.)

Zum Seitenanfang

Explizite Schnittstellen implementierungen

  Name Beschreibung
Explizite SchnittstellenimplementierungPrivate Methode IServiceContainer.AddService(Type, Object) (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IServiceContainer.AddService(Type, ServiceCreatorCallback) (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IServiceContainer.AddService(Type, Object, Boolean) (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IServiceContainer.AddService(Type, ServiceCreatorCallback, Boolean) (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPackage.Close (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsToolWindowFactory.CreateToolWindow (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IOleCommandTarget.Exec (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUserSettings.ExportSettings (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPackage.GetAutomationObject (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsToolboxItemProvider.GetItemContent (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPackage.GetPropertyPage (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IServiceProvider.GetService (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUserSettings.ImportSettings (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPersistSolutionOpts.LoadUserOptions (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUserSettingsMigration.MigrateSettings (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUserSettingsQuery.NeedExport (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPackage.QueryClose (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IServiceProvider.QueryService (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IOleCommandTarget.QueryStatus (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPersistSolutionOpts.ReadUserOptions (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IServiceContainer.RemoveService(Type) (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IServiceContainer.RemoveService(Type, Boolean) (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPackage.ResetDefaults (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPersistSolutionOpts.SaveUserOptions (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPackage.SetSite (Von Package geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsPersistSolutionOpts.WriteUserOptions (Von Package geerbt.)

Zum Seitenanfang

Hinweise

Sie verwenden diese Klasse, um ein Paket der domänenspezifischen Sprache zu laden, das eine Editorfactory bei Visual Studio registriert. Visual Studio ruft die Editorfactory auf, die den Designer generierten für die domänenspezifische Sprache. Zusätzlich zum Registrieren von Editorfactorys, können Sie diese Klasse auch verwenden, um Toolfenster zu registrieren.

Diese Klasse enthält Menüunterstützung der auf Paketebene. Pakete, die Toolfenster unterstützen, müssen, IVsToolWindowFactory zu implementieren.

Beispiele

Das folgende Beispiel fügt ein Toolfenster hinzu, das dem Benutzerdefiniertes Toolfenster generierten Designer aufgerufen wird. Wenn Sie das Projekt im generierten Designer öffnen, wird die Registerkarte für dieses Fenster neben Projektmappen-Explorer. Wenn Sie auf die Registerkarte für das Fenster klicken, wird eine Bezeichnung, die Dies ist das Fenster des benutzerdefinierte Tools lautet, Mitte dem Toolfenster

Dieser Code registriert das Toolfenster:

using VSShellInterop = Microsoft.VisualStudio.Shell.Interop;
using VSShell = Microsoft.VisualStudio.Shell;
using DslShell = Microsoft.VisualStudio.Modeling.Shell;
using DslDesign = Microsoft.VisualStudio.Modeling.Design;
using VSTextTemplatingHost = Microsoft.VisualStudio.TextTemplating.VSHost;

namespace MS.RegisterTools
{
    [VSShell::ProvideToolWindowVisibility(typeof(CustomToolWindow), 
              Constants.RegisterToolsEditorFactoryId)]
    [VSShell::ProvideToolWindow(typeof(CustomToolWindow), 
              MultiInstances = false, 
              Style = VSShell::VsDockStyle.Tabbed, 
              Orientation = VSShell::ToolWindowOrientation.Right, 
              Window = "{3AE79031-E1BC-11D0-8F78-00A0C9110057}")]

    internal partial class RegisterToolsPackage
    {
        //Initializes the base class for the package
        protected override void Initialize()
        {
            base.Initialize();

            //Registers the custom tool window
            this.AddToolWindow(typeof(CustomToolWindow));
        }
    }
}

Dieser Code definiert das Toolfenster:

using System;
using System.Windows.Forms;
using VSShellInterop = Microsoft.VisualStudio.Shell.Interop;
using VSShell = Microsoft.VisualStudio.Shell;
using DslShell = Microsoft.VisualStudio.Modeling.Shell;
using DslDesign = Microsoft.VisualStudio.Modeling.Design;
using VSTextTemplatingHost = Microsoft.VisualStudio.TextTemplating.VSHost;

namespace MS.RegisterTools
{

    //Creates a tool window and gives it a title, icon, and label
    internal class CustomToolWindow : DslShell.ToolWindow
    {

        //defines a label
  private Label myLabel;
        
        //creates the tool window
  public CustomToolWindow(IServiceProvider serviceProvider) : base(serviceProvider)
  { 
  }

        //gets the icon for the tool window
        protected override int BitmapResource
        {
            get { return 104; }
        }

        //gets the index for the icon
        protected override int BitmapIndex
        {
            get { return 0; }
        }

        //gets the name of the tool window
        public override string WindowTitle
        {
            get { return "Custom Window"; }
        }

        //sets up a label
  protected override void OnToolWindowCreate()
  {
      this.myLabel = new Label();
this.myLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.myLabel.Text = "This is the custom tool window";
   }

        //puts a label on the tool window
  public override System.Windows.Forms.IWin32Window Window
  {
       get { return this.myLabel; }
  }
    }
}

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling.Shell-Namespace

IVsToolWindowFactory

IVsPackage