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 형식에서는 다음과 같은 멤버를 노출합니다.
생성자
이름 | 설명 | |
---|---|---|
ModelingPackage | ModelingPackage 클래스의 새 인스턴스를 초기화합니다. |
위쪽
속성
이름 | 설명 | |
---|---|---|
ApplicationRegistryRoot | (Package에서 상속됨) | |
Locator | 모델링 요소 패키지의 위치를 찾는 모델 요소 표시기를 가져옵니다. | |
SetupMode | 모델링 패키지를 가져오고 도메인 관련 언어 디자이너 설정 되어 있는지 여부를 확인 합니다. | |
UserDataPath | (Package에서 상속됨) | |
UserLocalDataPath | (Package에서 상속됨) | |
UserRegistryRoot | (Package에서 상속됨) | |
Zombied | (Package에서 상속됨) |
위쪽
메서드
이름 | 설명 | |
---|---|---|
AddOptionKey | (Package에서 상속됨) | |
AddOrReplaceToolboxItem | 사용되지 않습니다. 있는 경우 도구 상자 항목을 추가 합니다.항목이 이미 있는 경우 기존 도구 상자 항목을 대체 합니다. | |
AddToolboxItems | 전달 된 ModelingToolboxItemBase 항목 컬렉션 Visual Studio 도구 상자에 추가 합니다. | |
AddToolWindow | 도구 창의 도메인-특정 언어에 대해 생성 된 디자이너에 추가합니다. | |
CreateInstance | (Package에서 상속됨) | |
CreateLocator | 패키지는 모델 요소의 표시기를 만듭니다. | |
CreateTool | (Package에서 상속됨) | |
CreateToolboxItems | 도구 상자에 항목을 만듭니다. | |
CreateToolWindow(Type, Int32) | (Package에서 상속됨) | |
CreateToolWindow(Guid%, UInt32) | 도구 창을 만듭니다. | |
Dispose | (Package에서 상속됨) | |
Equals | 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨) | |
Finalize | 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨) | |
FindToolWindow | (Package에서 상속됨) | |
FindWindowPane | (Package에서 상속됨) | |
GetAutomationObject | (Package에서 상속됨) | |
GetDialogPage | (Package에서 상속됨) | |
GetHashCode | 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨) | |
GetOutputPane | (Package에서 상속됨) | |
GetProviderLocale | (Package에서 상속됨) | |
GetService | (Package에서 상속됨) | |
GetToolboxItemData | (Package에서 상속됨) | |
GetToolWindow(Type) | 도구 창을 가져옵니다. | |
GetToolWindow(Type, Boolean) | 도구 창을 가져옵니다. | |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) | |
Initialize | ModelingPackage 클래스를 초기화합니다. (Package.Initialize()을(를) 재정의함) | |
MemberwiseClone | 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨) | |
OnLoadOptions | (Package에서 상속됨) | |
OnSaveOptions | (Package에서 상속됨) | |
OnToolboxInitialized | ToolboxInitialized 이벤트의 이벤트 처리기는 동적/사용자 지정 도구 상자 항목 다시 등록 됩니다. | |
OnToolboxUpgraded | ToolboxUpgraded 이벤트의 이벤트 처리기는 동적/사용자 지정 도구 상자 항목 다시 등록 됩니다. | |
ParseToolboxResource(TextReader, ResourceManager) | (Package에서 상속됨) | |
ParseToolboxResource(TextReader, Guid) | (Package에서 상속됨) | |
QueryClose | (Package에서 상속됨) | |
RegisterEditorFactory | (Package에서 상속됨) | |
RegisterProjectFactory | (Package에서 상속됨) | |
SetupDynamicToolbox | 도구 상자에서 항목을 새로 고칩니다. | |
ShowOptionPage | (Package에서 상속됨) | |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
위쪽
이벤트
이름 | 설명 | |
---|---|---|
ToolboxInitialized | (Package에서 상속됨) | |
ToolboxUpgraded | (Package에서 상속됨) |
위쪽
명시적 인터페이스 구현
이름 | 설명 | |
---|---|---|
IServiceContainer.AddService(Type, Object) | (Package에서 상속됨) | |
IServiceContainer.AddService(Type, ServiceCreatorCallback) | (Package에서 상속됨) | |
IServiceContainer.AddService(Type, Object, Boolean) | (Package에서 상속됨) | |
IServiceContainer.AddService(Type, ServiceCreatorCallback, Boolean) | (Package에서 상속됨) | |
IVsPackage.Close | (Package에서 상속됨) | |
IVsToolWindowFactory.CreateToolWindow | (Package에서 상속됨) | |
IOleCommandTarget.Exec | (Package에서 상속됨) | |
IVsUserSettings.ExportSettings | (Package에서 상속됨) | |
IVsPackage.GetAutomationObject | (Package에서 상속됨) | |
IVsToolboxItemProvider.GetItemContent | (Package에서 상속됨) | |
IVsPackage.GetPropertyPage | (Package에서 상속됨) | |
IServiceProvider.GetService | (Package에서 상속됨) | |
IVsUserSettings.ImportSettings | (Package에서 상속됨) | |
IVsPersistSolutionOpts.LoadUserOptions | (Package에서 상속됨) | |
IVsUserSettingsMigration.MigrateSettings | (Package에서 상속됨) | |
IVsUserSettingsQuery.NeedExport | (Package에서 상속됨) | |
IVsPackage.QueryClose | (Package에서 상속됨) | |
IServiceProvider.QueryService | (Package에서 상속됨) | |
IOleCommandTarget.QueryStatus | (Package에서 상속됨) | |
IVsPersistSolutionOpts.ReadUserOptions | (Package에서 상속됨) | |
IServiceContainer.RemoveService(Type) | (Package에서 상속됨) | |
IServiceContainer.RemoveService(Type, Boolean) | (Package에서 상속됨) | |
IVsPackage.ResetDefaults | (Package에서 상속됨) | |
IVsPersistSolutionOpts.SaveUserOptions | (Package에서 상속됨) | |
IVsPackage.SetSite | (Package에서 상속됨) | |
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) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.