ModelingPackage 클래스

파생된 클래스에서 재정의 되는 경우는 Vspackage를 도메인-특정 언어에 대 한 디자이너를 나타냅니다.

이 API는 CLS 규격이 아닙니다. 

상속 계층 구조

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

네임스페이스:  Microsoft.VisualStudio.Modeling.Shell
어셈블리:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0(Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

구문

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

ModelingPackage 형식에서는 다음과 같은 멤버를 노출합니다.

생성자

  이름 설명
Protected 메서드 ModelingPackage ModelingPackage 클래스의 새 인스턴스를 초기화합니다.

위쪽

속성

  이름 설명
Public 속성 ApplicationRegistryRoot (Package에서 상속됨)
Public 속성 Locator 모델링 요소 패키지의 위치를 찾는 모델 요소 표시기를 가져옵니다.
Protected 속성 SetupMode 모델링 패키지를 가져오고 도메인 관련 언어 디자이너 설정 되어 있는지 여부를 확인 합니다.
Public 속성 UserDataPath (Package에서 상속됨)
Public 속성 UserLocalDataPath (Package에서 상속됨)
Public 속성 UserRegistryRoot (Package에서 상속됨)
Public 속성 Zombied (Package에서 상속됨)

위쪽

메서드

  이름 설명
Protected 메서드 AddOptionKey (Package에서 상속됨)
Public 메서드정적 멤버 AddOrReplaceToolboxItem 사용되지 않습니다. 있는 경우 도구 상자 항목을 추가 합니다.항목이 이미 있는 경우 기존 도구 상자 항목을 대체 합니다.
Protected 메서드 AddToolboxItems 전달 된 ModelingToolboxItemBase 항목 컬렉션 Visual Studio 도구 상자에 추가 합니다.
Protected 메서드 AddToolWindow 도구 창의 도메인-특정 언어에 대해 생성 된 디자이너에 추가합니다.
Public 메서드 CreateInstance (Package에서 상속됨)
Protected 메서드 CreateLocator 패키지는 모델 요소의 표시기를 만듭니다.
Public 메서드 CreateTool (Package에서 상속됨)
Protected 메서드 CreateToolboxItems 도구 상자에 항목을 만듭니다.
Protected 메서드 CreateToolWindow(Type, Int32) (Package에서 상속됨)
Public 메서드 CreateToolWindow(Guid%, UInt32) 도구 창을 만듭니다.
Protected 메서드 Dispose (Package에서 상속됨)
Public 메서드 Equals 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드 FindToolWindow (Package에서 상속됨)
Public 메서드 FindWindowPane (Package에서 상속됨)
Protected 메서드 GetAutomationObject (Package에서 상속됨)
Protected 메서드 GetDialogPage (Package에서 상속됨)
Public 메서드 GetHashCode 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드 GetOutputPane (Package에서 상속됨)
Public 메서드 GetProviderLocale (Package에서 상속됨)
Protected 메서드 GetService (Package에서 상속됨)
Protected 메서드 GetToolboxItemData (Package에서 상속됨)
Public 메서드 GetToolWindow(Type) 도구 창을 가져옵니다.
Public 메서드 GetToolWindow(Type, Boolean) 도구 창을 가져옵니다.
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드 Initialize ModelingPackage 클래스를 초기화합니다. (Package.Initialize()을(를) 재정의함)
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드 OnLoadOptions (Package에서 상속됨)
Protected 메서드 OnSaveOptions (Package에서 상속됨)
Protected 메서드 OnToolboxInitialized ToolboxInitialized 이벤트의 이벤트 처리기는 동적/사용자 지정 도구 상자 항목 다시 등록 됩니다.
Protected 메서드 OnToolboxUpgraded ToolboxUpgraded 이벤트의 이벤트 처리기는 동적/사용자 지정 도구 상자 항목 다시 등록 됩니다.
Protected 메서드 ParseToolboxResource(TextReader, ResourceManager) (Package에서 상속됨)
Protected 메서드 ParseToolboxResource(TextReader, Guid) (Package에서 상속됨)
Protected 메서드 QueryClose (Package에서 상속됨)
Protected 메서드 RegisterEditorFactory (Package에서 상속됨)
Protected 메서드 RegisterProjectFactory (Package에서 상속됨)
Protected 메서드 SetupDynamicToolbox 도구 상자에서 항목을 새로 고칩니다.
Public 메서드 ShowOptionPage (Package에서 상속됨)
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)

위쪽

이벤트

  이름 설명
Protected 이벤트 ToolboxInitialized (Package에서 상속됨)
Protected 이벤트 ToolboxUpgraded (Package에서 상속됨)

위쪽

명시적 인터페이스 구현

  이름 설명
명시적 인터페이스 구현Private 메서드 IServiceContainer.AddService(Type, Object) (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IServiceContainer.AddService(Type, ServiceCreatorCallback) (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IServiceContainer.AddService(Type, Object, Boolean) (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IServiceContainer.AddService(Type, ServiceCreatorCallback, Boolean) (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPackage.Close (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsToolWindowFactory.CreateToolWindow (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IOleCommandTarget.Exec (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUserSettings.ExportSettings (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPackage.GetAutomationObject (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsToolboxItemProvider.GetItemContent (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPackage.GetPropertyPage (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IServiceProvider.GetService (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUserSettings.ImportSettings (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPersistSolutionOpts.LoadUserOptions (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUserSettingsMigration.MigrateSettings (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUserSettingsQuery.NeedExport (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPackage.QueryClose (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IServiceProvider.QueryService (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IOleCommandTarget.QueryStatus (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPersistSolutionOpts.ReadUserOptions (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IServiceContainer.RemoveService(Type) (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IServiceContainer.RemoveService(Type, Boolean) (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPackage.ResetDefaults (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPersistSolutionOpts.SaveUserOptions (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPackage.SetSite (Package에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsPersistSolutionOpts.WriteUserOptions (Package에서 상속됨)

위쪽

설명

이 클래스를 사용 하는 편집기 팩터리를 등록 하는 도메인 관련 언어 패키지 로드 Visual Studio.Visual Studio생성 된 도메인-특정 언어에 대 한 디자이너를 만드는 편집기 팩터리를 호출 합니다.편집기 팩터리를 등록 하는 것 외에 또한이 클래스 도구 창을 등록할 수 있습니다.

이 클래스는 메뉴 지원을 패키지 수준에 포함 됩니다.도구 창을 지 원하는 패키지를 구현 하는 데 필요한 IVsToolWindowFactory.

예제

다음 예제 호출 되는 도구 창 사용자 지정 도구 창 생성 된 디자이너입니다.디자이너에서 생성 된 프로젝트를 열면이 창에 대 한 탭 옆에 나타납니다 솔루션 탐색기.창에 있는 탭을 클릭 하면 레이블에 읽고 사용자 지정 도구 창을입니다 도구 창의 가운데에 나타납니다

이 코드는 도구 창을 등록합니다.

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

이 코드는 도구 창을 정의합니다.

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

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.VisualStudio.Modeling.Shell 네임스페이스

IVsToolWindowFactory

IVsPackage