Partager via


ModelingPackage, classe

En cas de substitution dans une classe dérivée, représente le VSPackage du concepteur de langage spécifique au 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.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Shell.12.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éments de modèle, qui localise les éléments de modélisation dans le package.
Propriété protégée SetupMode Obtient le package de modélisation et vérifie si le concepteur de langage spécifique au domaine est installé.
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. Ajoute un élément de boîte à outils s'il n'est pas présent.Remplace un élément de boîte à outils existant si l'élément est déjà présent
Méthode protégée AddToolboxItems Ajoute la collection passée d'éléments de ModelingToolboxItemBase dans la boîte à outils de Visual Studio.
Méthode protégée AddToolWindow Ajoute une fenêtre d'outil au concepteur 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 de 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 par défaut. (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 Gestionnaire d'événements pour l'événement ToolboxInitialized. Les éléments de la boîte à outils dynamiques/personnalisés seront ré-enregistrés.
Méthode protégée OnToolboxUpgraded Gestionnaire d'événements pour l'événement ToolboxUpgraded. Les éléments de la boîte à outils dynamiques/personnalisés seront ré-enregistrés.
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 de 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

Cette classe pour charger un package de données spécifiques au domaine, qui enregistre une fabrique d'éditeur à Visual Studio. Visual Studio appelle la fabrique de l'éditeur, qui crée le concepteur généré pour la langue de spécifiques au domaine. En plus de les fabriques d'éditeur, vous pouvez également utiliser cette classe pour stocker des fenêtres d'outils.

Cette classe inclut la prise en charge du menu au niveau de le package. Packages que les fenêtres d'outils de support sont requises pour implémenter IVsToolWindowFactory.

Exemples

L'exemple suivant ajoute une fenêtre outils qui est appelée Fenêtre outils personnalisée le concepteur généré. Lorsque vous ouvrez un projet dans le concepteur généré, l'onglet de la fenêtre s'affiche en regard de Explorateur de solutions. Lorsque vous cliquez sur l'onglet de la fenêtre, un nom qui lit Il s'agit de la fenêtre 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