다음을 통해 공유


CommandSet 클래스

도메인 관련 언어 메뉴에서 사용할 수 있는 명령의 하위 집합만을 나타냅니다.이러한 명령을 처리 하는 방식 수정 하려면 YourLanguageCommandSet 메서드를 재정의 합니다.

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

상속 계층 구조

System.Object
  System.MarshalByRefObject
    Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
      Microsoft.VisualStudio.Modeling.Shell.CommandSet

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

구문

‘선언
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
    Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary

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

생성자

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

위쪽

속성

  이름 설명
Protected 속성 CurrentDocData (CommandSetLibrary에서 상속됨)
Protected 속성 CurrentDocumentSelection (CommandSetLibrary에서 상속됨)
Protected 속성 CurrentDocView 현재 문서 창에 대 한 뷰를 가져옵니다.
Protected 속성 CurrentModelingDocView (CommandSetLibrary에서 상속됨)
Protected 속성 CurrentSelection (CommandSetLibrary에서 상속됨)
Protected 속성 MenuService (CommandSetLibrary에서 상속됨)
Protected 속성 MonitorSelection (CommandSetLibrary에서 상속됨)
Protected 속성 ServiceProvider (CommandSetLibrary에서 상속됨)
Protected 속성 SingleDocumentSelection (CommandSetLibrary에서 상속됨)
Protected 속성 SingleSelection (CommandSetLibrary에서 상속됨)

위쪽

메서드

  이름 설명
Protected 메서드 CanDeleteSelectedItems 선택한 항목을 삭제할 때 true를 반환 합니다. (CommandSetLibrary에서 상속됨)
Public 메서드 CreateObjRef 보안 중요 원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨)
Protected 메서드 DeleteSelectedItems 선택한 항목을 삭제 합니다. (CommandSetLibrary에서 상속됨)
Public 메서드 Equals 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드 GetHashCode 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드 GetLifetimeService 보안 중요 이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨)
Protected 메서드 GetMenuCommands 명령을 바로 가기 메뉴를 표시합니다. (CommandSetLibrary.GetMenuCommands()을(를) 재정의함)
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드 Initialize 명령 집합을 초기화 합니다.Getmenucommands를 호출 하 고 결과 캐시 합니다. (CommandSetLibrary에서 상속됨)
Public 메서드 InitializeLifetimeService 보안 중요 이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨)
Protected 메서드 IsAnyDocumentSelectionCompartment True 이면 선택 영역에 있는 항목의 목록 구획입니다. (CommandSetLibrary에서 상속됨)
Protected 메서드 IsAnyDocumentSelectionMoveableHostShape 고정 되지 않은 호스트 셰이프를 삭제할 수 없습니다 선택 목록에 있는 항목의 경우 true입니다. (CommandSetLibrary에서 상속됨)
Protected 메서드 IsAnyDocumentSelectionUndeletable True 이면 셰이프를 항목 선택 목록에서 삭제할 수 없습니다. (CommandSetLibrary에서 상속됨)
Protected 메서드 IsCurrentDiagramEmpty True 이면 다이어그램에 하위 항목이 없습니다. (CommandSetLibrary에서 상속됨)
Protected 메서드 IsDiagramSelected True 이면 다이어그램을 선택 합니다. (CommandSetLibrary에서 상속됨)
Protected 메서드 IsExpandableShape 사용자 도메인 등록 정보를 표시 하려면 셰이프를 확장할 수 있는지 여부를 확인 합니다.
Protected 메서드 IsSingleDocumentSelection True 이면 현재 문서에서 선택한 항목이 하나만 있으면 됩니다. (CommandSetLibrary에서 상속됨)
Protected 메서드 IsSingleSelection 활성 문서 창이 나 도구 창에서 선택한 항목을 하나만 있으면 true입니다. (CommandSetLibrary에서 상속됨)
Protected 메서드 MemberwiseClone() 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드 MemberwiseClone(Boolean) 현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (MarshalByRefObject에서 상속됨)
Protected 메서드 ProcessOnMenuDeleteCommand 삭제 명령을 클릭 하거나 Delete 키를 누를 때 호출 됩니다.항목을 삭제합니다.이 동작을 변경 하려면이 메서드를 재정의 합니다.
Protected 메서드 ProcessOnMenuEditCompartmentItemCommand 구획 모양에서 항목을 편집 메뉴 명령을 클릭할 때 호출 됩니다.텍스트 편집 상태로 전환 됩니다.이 동작을 변경 하려면이 메서드를 재정의 합니다.
Protected 메서드 ProcessOnMenuExpandCollapseCommand 사용자가 확장 될 때 호출 또는 속성에 할당 된 목록을 축소 합니다.
Protected 메서드 ProcessOnMenuPageSetupCommand 페이지 설정 대화 상자를 엽니다.이 동작을 변경 하려면이 메서드를 재정의 합니다.
Protected 메서드 ProcessOnMenuPrintCommand 인쇄 대화 상자를 엽니다.이 동작을 변경 하려면이 메서드를 재정의 합니다.
Protected 메서드 ProcessOnMenuPrintPreviewCommand 인쇄 미리 보기 창을 엽니다.이 동작을 변경 하려면이 메서드를 재정의 합니다.
Protected 메서드 ProcessOnMenuRerouteLineCommand 두 셰이프 사이의 연결선의 기본 위치에 복원 됩니다.이 동작을 변경 하려면이 메서드를 재정의 합니다.
Protected 메서드 ProcessOnMenuResetDecoratorLocationCommand 데코레이터 위치 재설정 메뉴 명령을 처리 하려면이 메서드를 재정의 합니다.
Protected 메서드 ProcessOnMenuResetDecoratorSizeCommand 데코레이터 크기 재설정 메뉴 명령을 처리 하려면이 메서드를 재정의 합니다.
Protected 메서드 ProcessOnMenuSelectAllCommand 편집 메뉴에서 모두 선택 명령을 클릭 하거나 A. ctrl 키를 누를 때 호출다이어그램의 모든 셰이프를 선택합니다.이 동작을 변경 하는 메서드를 재정의 합니다.
Protected 메서드 ProcessOnStatusDeleteCommand 삭제 명령은 상황에 맞는 메뉴에 표시 되는지 여부를 결정 합니다.사용자 다이어그램에서 마우스 오른쪽 단추로 클릭할 때 호출 됩니다.
Protected 메서드 ProcessOnStatusEditCompartmentItemCommand 편집 명령을 상황에 맞는 메뉴에 표시 되는지 여부를 결정 합니다.
Protected 메서드 ProcessOnStatusExpandCollapseCommand 확장 또는 축소 명령을 상황에 맞는 메뉴에 표시 되는지 여부를 결정 합니다.사용자 다이어그램에서 마우스 오른쪽 단추로 클릭할 때 호출 됩니다.
Protected 메서드 ProcessOnStatusPageSetupCommand 파일 메뉴에서 페이지 설정 명령을 표시할지를 결정 합니다.다이어그램 활성화 되어 있는 동안 파일 메뉴를 클릭할 때 호출 됩니다.
Protected 메서드 ProcessOnStatusPrintCommand 파일 메뉴에서 인쇄 명령을 표시할지를 결정 합니다.다이어그램 활성화 되어 있는 동안 파일 메뉴를 클릭할 때 호출 됩니다.
Protected 메서드 ProcessOnStatusPrintPreviewCommand 인쇄 미리 보기 명령을 메뉴에 표시 되는지 여부를 결정 합니다.다이어그램 활성화 되어 있는 동안 파일 메뉴를 클릭할 때 호출 됩니다.
Protected 메서드 ProcessOnStatusRerouteLineCommand 경로 재정의 명령에서 상황에 맞는 메뉴를 표시할지 여부를 결정 합니다.사용자 다이어그램에서 마우스 오른쪽 단추로 클릭할 때 호출 됩니다.
Protected 메서드 ProcessOnStatusResetDecoratorLocationCommand 나머지 데코레이터 위치 명령을 상황에 맞는 메뉴에 표시 되는지 여부를 결정 합니다.사용자 다이어그램에서 마우스 오른쪽 단추로 클릭할 때 호출 됩니다.
Protected 메서드 ProcessOnStatusResetDecoratorSizeCommand 데코레이터 크기 재설정 명령이 메뉴에 표시 되는지 여부를 결정 합니다.사용자 다이어그램에서 마우스 오른쪽 단추로 클릭할 때 호출 됩니다.
Protected 메서드 ProcessOnStatusSelectAllCommand 모두 선택 명령을 메뉴에 표시 되는지 여부를 결정 합니다.다이어그램 활성화 되어 있는 동안 편집 메뉴를 클릭할 때 호출 됩니다.
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)

위쪽

설명

DSL을 일부 메뉴 명령에 응답 하는 방식을 수정할 수 있습니다.명령을 수정할 수 있습니다 명령을 바로 가기 메뉴와 일부 파일 및 편집 메뉴에서 명령이 포함 합니다.

DslPackage 프로젝트에 CommandSet.cs 라는 클래스의 partial 선언에 포함 된, 생성 된 파일이 있습니다 <YourLanguageName> CommandSet.표준 메뉴 명령의 동작을 수정 하려면 다른 파일에 동일한 클래스의 부분 정의 추가 합니다.

이 클래스의 기본 클래스에 정의 된 메서드를 재정의할 수 있습니다.

[!참고]

새 파일에서 네임 스페이스는 네임 스페이스에서 생성 된 Commandset.cs와 같은 있는지 확인 하십시오.새 파일을 클래스 선언 안에 "무시"를 입력 하는 경우에 재정의할 수 있는 메서드 목록이 표시 됩니다.

각 명령에는 ProcessOnStatus 있습니다...메서드 및 Processonmenu의...메서드.ProcessOnStatus...메서드 명령을 바로 가기 메뉴에서 표시 되는지 여부를 결정 합니다.명령 매개 변수 명령 표시 되는지 확인 하려면 Visible 속성을 설정 하 고 메뉴 항목 활성화 또는 회색으로 표시 하는지 여부를 확인 하려면 Enabled 속성을 설정 합니다.

ProcessOnMenu...사용자가 메뉴 항목을 누르면 메서드는 명령을 수행 합니다.

[!참고]

추가 명령 Commands.vsct 파일에 정의할 수 있습니다.

자세한 내용은 방법: 바로 가기 메뉴에 명령 추가를 참조하십시오.

예제

이 파일을 DslPackage 프로젝트에 추가 됩니다.이 DSL의 사용자가 둘 이상의 요소는 한 번에 삭제할 수 없습니다.

// In the DslPackage project.
namespace Company.Language1 // Check this is correct after creating the file.
{
  internal partial class Language1CommandSet // Same class as the generated class.
  {
    /// <summary>
    /// Called when user right-clicks on the diagram or clicks the Edit menu.
    /// </summary>
    /// <param name="command"></param>
    protected override void ProcessOnStatusDeleteCommand(System.ComponentModel.Design.MenuCommand command)
    {
      if (this.CurrentSelection.Count > 1)
      {
        // If user has selected more than one item, Delete is greyed out.
        command.Enabled = false;
      }
      else
      {
        // Otherwise, default behavior.
        base.ProcessOnStatusDeleteCommand(command);
      }
    }
    /// <summary>
    /// Called when user presses Delete key or clicks the Delete command on a menu.
    /// </summary>
    protected override void ProcessOnMenuDeleteCommand()
    {
      // Allow users to delete only one thing at a time.
      if (this.CurrentSelection.Count <= 1)
      {
        base.ProcessOnMenuDeleteCommand();
      }
    }
  }
}

스레드로부터의 안전성

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

참고 항목

참조

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

기타 리소스

방법: 바로 가기 메뉴에 명령 추가