Partager via


ModelingPackage, classe

Une fois substitué dans une classe dérivée, représente le VSPackage pour le concepteur de langage spécifique à un domaine.

Cette API n'est pas conforme CLS. 

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Modeling.Shell
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Syntaxe

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

Le type ModelingPackage expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée ModelingPackage Initialise une nouvelle instance de la classe ModelingPackage.

Début

Propriétés

  Nom Description
Propriété publique ApplicationRegistryRoot (Hérité de Package.)
Propriété publique Locator Obtient le localisateur d'élément de modèle, qui place des éléments de modélisation dans le package.
Propriété protégée SetupMode Obtient le package de modélisation et le vérifie si le concepteur de langage spécifique à un domaine est installation.
Propriété publique UserDataPath (Hérité de Package.)
Propriété publique UserLocalDataPath (Hérité de Package.)
Propriété publique UserRegistryRoot (Hérité de Package.)
Propriété publique Zombied (Hérité de Package.)

Début

Méthodes

  Nom Description
Méthode protégée AddOptionKey (Hérité de Package.)
Méthode publiqueMembre statique AddOrReplaceToolboxItem Obsolète. Ajoutez un élément de boîte à outils s'il n'est pas présent.Remplacera un élément existant de boîte à outils si l'élément est déjà installé
Méthode protégée AddToolboxItems Ajoutez la collection passée d'éléments de ModelingToolboxItemBase dans la Boîte à outils Visual Studio.
Méthode protégée AddToolWindow Ajoute une fenêtre Outil au générateur généré pour un langage spécifique au domaine.
Méthode publique CreateInstance (Hérité de Package.)
Méthode protégée CreateLocator Crée un localisateur d'élément de modèle pour le package.
Méthode publique CreateTool (Hérité de Package.)
Méthode protégée CreateToolboxItems Crée les éléments dans la boîte à outils.
Méthode protégée CreateToolWindow(Type, Int32) (Hérité de Package.)
Méthode publique CreateToolWindow(Guid%, UInt32) Crée une fenêtre Outil.
Méthode protégée Dispose (Hérité de Package.)
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique FindToolWindow (Hérité de Package.)
Méthode publique FindWindowPane (Hérité de Package.)
Méthode protégée GetAutomationObject (Hérité de Package.)
Méthode protégée GetDialogPage (Hérité de Package.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetOutputPane (Hérité de Package.)
Méthode publique GetProviderLocale (Hérité de Package.)
Méthode protégée GetService (Hérité de Package.)
Méthode protégée GetToolboxItemData (Hérité de Package.)
Méthode publique GetToolWindow(Type) Obtient une fenêtre Outil.
Méthode publique GetToolWindow(Type, Boolean) Obtient une fenêtre Outil.
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée Initialize Initialise la classe ModelingPackage. (Substitue Package.Initialize().)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégée OnLoadOptions (Hérité de Package.)
Méthode protégée OnSaveOptions (Hérité de Package.)
Méthode protégée OnToolboxInitialized Le gestionnaire d'événements pour l'événement de ToolboxInitialized éléments dynamiques/personnalisés de boîte à outils re- sera enregistré.
Méthode protégée OnToolboxUpgraded Le gestionnaire d'événements pour l'événement de ToolboxUpgraded éléments dynamiques/personnalisés de boîte à outils re- sera enregistré.
Méthode protégée ParseToolboxResource(TextReader, ResourceManager) (Hérité de Package.)
Méthode protégée ParseToolboxResource(TextReader, Guid) (Hérité de Package.)
Méthode protégée QueryClose (Hérité de Package.)
Méthode protégée RegisterEditorFactory (Hérité de Package.)
Méthode protégée RegisterProjectFactory (Hérité de Package.)
Méthode protégée SetupDynamicToolbox Actualise les éléments dans la boîte à outils.
Méthode publique ShowOptionPage (Hérité de Package.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)

Début

Événements

  Nom Description
Événement protégé ToolboxInitialized (Hérité de Package.)
Événement protégé ToolboxUpgraded (Hérité de Package.)

Début

Implémentations d'interface explicite

  Nom Description
Implémentation d'interface expliciteMéthode privée IServiceContainer.AddService(Type, Object) (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IServiceContainer.AddService(Type, ServiceCreatorCallback) (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IServiceContainer.AddService(Type, Object, Boolean) (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IServiceContainer.AddService(Type, ServiceCreatorCallback, Boolean) (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPackage.Close (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsToolWindowFactory.CreateToolWindow (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IOleCommandTarget.Exec (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsUserSettings.ExportSettings (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPackage.GetAutomationObject (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsToolboxItemProvider.GetItemContent (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPackage.GetPropertyPage (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IServiceProvider.GetService (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsUserSettings.ImportSettings (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPersistSolutionOpts.LoadUserOptions (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsUserSettingsMigration.MigrateSettings (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsUserSettingsQuery.NeedExport (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPackage.QueryClose (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IServiceProvider.QueryService (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IOleCommandTarget.QueryStatus (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPersistSolutionOpts.ReadUserOptions (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IServiceContainer.RemoveService(Type) (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IServiceContainer.RemoveService(Type, Boolean) (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPackage.ResetDefaults (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPersistSolutionOpts.SaveUserOptions (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPackage.SetSite (Hérité de Package.)
Implémentation d'interface expliciteMéthode privée IVsPersistSolutionOpts.WriteUserOptions (Hérité de Package.)

Début

Notes

Vous utilisez cette classe pour charger un package de langage spécifique au domaine, qui enregistre une fabrique d'éditeur avec Visual Studio.Visual Studio appelle la fabrique d'éditeur, qui crée le générateur généré pour le langage spécifique au domaine.En plus d'enregistrer des fabriques d'éditeur, vous pouvez également utiliser cette classe pour enregistrer des fenêtres Outil.

Cette classe comprend la prise en charge de menu au niveau de package.Packages que des fenêtres d'outil de support sont requises pour implémenter IVsToolWindowFactory.

Exemples

L'exemple suivant ajoute une fenêtre Outil qui est appelée Fenêtre Outil personnalisée au générateur généré.Lorsque vous ouvrez votre projet dans le générateur généré, l'onglet pour cette fenêtre apparaît à côté de Explorateur de solutions.Lorsque vous cliquez sur l'onglet pour votre fenêtre, un nom qui lit Ceci est la fenêtre d'outils personnalisée apparaît au milieu de la fenêtre Outil

Ce code enregistre la fenêtre Outil :

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));
        }
    }
}

Ce code définit la fenêtre Outil :

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; }
  }
    }
}

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling.Shell, espace de noms

IVsToolWindowFactory

IVsPackage