Partilhar via


Classe ModelingPackage

Quando substituído em uma classe derivada, representa o VSPackage para o criador de linguagem específica de domínio.

Esta API não compatível com CLS. 

Hierarquia de herança

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

Namespace:  Microsoft.VisualStudio.Modeling.Shell
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Sintaxe

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

O tipo ModelingPackage expõe os membros a seguir.

Construtores

  Nome Descrição
Método protegido ModelingPackage Inicializa uma nova instância da classe ModelingPackage.

Superior

Propriedades

  Nome Descrição
Propriedade pública ApplicationRegistryRoot (Herdado de Package.)
Propriedade pública Locator Obtém o localizador de elemento de modelo, que localiza os elementos de modelagem no pacote.
Propriedade protegida SetupMode Obtém o pacote de modelagem e verifica se o Designer de linguagem específica de domínio está sendo configurado.
Propriedade pública UserDataPath (Herdado de Package.)
Propriedade pública UserLocalDataPath (Herdado de Package.)
Propriedade pública UserRegistryRoot (Herdado de Package.)
Propriedade pública Zombied (Herdado de Package.)

Superior

Métodos

  Nome Descrição
Método protegido AddOptionKey (Herdado de Package.)
Método públicoMembro estático AddOrReplaceToolboxItem Obsoleta. Adicione um item de caixa de ferramentas se não estiver presente.Irá substituir um item da caixa de ferramentas existente se o item já está presente
Método protegido AddToolboxItems Adicione a coleção passada de ModelingToolboxItemBase itens na caixa de ferramentas Visual Studio.
Método protegido AddToolWindow Adiciona uma janela de ferramenta para o designer gerado para um idioma específico do domínio.
Método público CreateInstance (Herdado de Package.)
Método protegido CreateLocator Cria um localizador de elemento de modelo para o pacote.
Método público CreateTool (Herdado de Package.)
Método protegido CreateToolboxItems Cria os itens na caixa de ferramentas.
Método protegido CreateToolWindow(Type, Int32) (Herdado de Package.)
Método público CreateToolWindow(Guid%, UInt32) Cria uma janela de ferramenta.
Método protegido Dispose (Herdado de Package.)
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público FindToolWindow (Herdado de Package.)
Método público FindWindowPane (Herdado de Package.)
Método protegido GetAutomationObject (Herdado de Package.)
Método protegido GetDialogPage (Herdado de Package.)
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetOutputPane (Herdado de Package.)
Método público GetProviderLocale (Herdado de Package.)
Método protegido GetService (Herdado de Package.)
Método protegido GetToolboxItemData (Herdado de Package.)
Método público GetToolWindow(Type) Obtém uma janela de ferramenta.
Método público GetToolWindow(Type, Boolean) Obtém uma janela de ferramenta.
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método protegido Initialize Inicializa o ModelingPackage classe. (Substitui Package.Initialize().)
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método protegido OnLoadOptions (Herdado de Package.)
Método protegido OnSaveOptions (Herdado de Package.)
Método protegido OnToolboxInitialized O manipulador de eventos para o evento de ToolboxInitialized os itens da caixa de ferramentas personalizado dinâmico serão registrados novamente.
Método protegido OnToolboxUpgraded O manipulador de eventos para o evento de ToolboxUpgraded os itens da caixa de ferramentas personalizado dinâmico serão registrados novamente.
Método protegido ParseToolboxResource(TextReader, ResourceManager) (Herdado de Package.)
Método protegido ParseToolboxResource(TextReader, Guid) (Herdado de Package.)
Método protegido QueryClose (Herdado de Package.)
Método protegido RegisterEditorFactory (Herdado de Package.)
Método protegido RegisterProjectFactory (Herdado de Package.)
Método protegido SetupDynamicToolbox Atualiza os itens na caixa de ferramentas.
Método público ShowOptionPage (Herdado de Package.)
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Eventos

  Nome Descrição
Evento protegido ToolboxInitialized (Herdado de Package.)
Evento protegido ToolboxUpgraded (Herdado de Package.)

Superior

Implementações explícitas da interface

  Nome Descrição
Implementação explícita da interfaceMétodo particular IServiceContainer.AddService(Type, Object) (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IServiceContainer.AddService(Type, ServiceCreatorCallback) (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IServiceContainer.AddService(Type, Object, Boolean) (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IServiceContainer.AddService(Type, ServiceCreatorCallback, Boolean) (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPackage.Close (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsToolWindowFactory.CreateToolWindow (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IOleCommandTarget.Exec (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsUserSettings.ExportSettings (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPackage.GetAutomationObject (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsToolboxItemProvider.GetItemContent (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPackage.GetPropertyPage (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IServiceProvider.GetService (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsUserSettings.ImportSettings (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPersistSolutionOpts.LoadUserOptions (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsUserSettingsMigration.MigrateSettings (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsUserSettingsQuery.NeedExport (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPackage.QueryClose (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IServiceProvider.QueryService (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IOleCommandTarget.QueryStatus (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPersistSolutionOpts.ReadUserOptions (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IServiceContainer.RemoveService(Type) (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IServiceContainer.RemoveService(Type, Boolean) (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPackage.ResetDefaults (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPersistSolutionOpts.SaveUserOptions (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPackage.SetSite (Herdado de Package.)
Implementação explícita da interfaceMétodo particular IVsPersistSolutionOpts.WriteUserOptions (Herdado de Package.)

Superior

Comentários

Usar essa classe para carregar um pacote de linguagem específica de domínio, que registra uma fábrica de editor com Visual Studio.Visual Studiochama a fábrica de editor, que cria o designer gerado para o idioma específico do domínio.Além de registrar fábricas de editor, você também pode usar essa classe para registrar as janelas de ferramentas.

Essa classe inclui suporte de menu no nível do pacote.Pacotes que dão suporte a janelas de ferramentas são necessárias para implementar IVsToolWindowFactory.

Exemplos

O exemplo a seguir adiciona uma janela de ferramenta que é chamada de Janela de ferramentas personalizada para o designer gerado.Quando você abre o seu projeto no designer gerado, na guia para esta janela aparece ao lado de Solution Explorer.Quando você clica na guia para a sua janela, um rótulo que lê Esta é a janela de ferramenta personalizada aparece no meio da janela da ferramenta

Esse código registra a janela da ferramenta:

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

Esse código define a janela da ferramenta:

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

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Modeling.Shell

IVsToolWindowFactory

IVsPackage