다음을 통해 공유


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.12.0(Microsoft.VisualStudio.Modeling.Sdk.Shell.12.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 명령을 클릭하거나 Delete 키를 누르면 호출됩니다.항목을 삭제합니다.이 동작을 변경하려면 이 메서드를 재정의합니다.
Protected 메서드 ProcessOnMenuEditCompartmentItemCommand 사용자가 구획 모양의 항목에 대한 편집 메뉴 명령을 클릭하면 호출됩니다.텍스트 편집 상태로 전환합니다.이 동작을 변경하려면 이 메서드를 재정의합니다.
Protected 메서드 ProcessOnMenuExpandCollapseCommand 사용자가 셰이프에 할당된 속성 목록을 확장하거나 축소하면 호출됩니다.
Protected 메서드 ProcessOnMenuPageSetupCommand 페이지 설정 대화 상자를 엽니다.이 동작을 변경하려면 이 메서드를 재정의합니다.
Protected 메서드 ProcessOnMenuPrintCommand 인쇄 대화 상자를 엽니다.이 동작을 변경하려면 이 메서드를 재정의합니다.
Protected 메서드 ProcessOnMenuPrintPreviewCommand 인쇄 미리 보기 창을 엽니다.이 동작을 변경하려면 이 메서드를 재정의합니다.
Protected 메서드 ProcessOnMenuRerouteLineCommand 두 모양 사이 연결선의 기본 위치를 복원합니다.이 동작을 변경하려면 이 메서드를 재정의합니다.
Protected 메서드 ProcessOnMenuResetDecoratorLocationCommand Decorator 위치 재설정 메뉴 명령을 처리하려면 이 메서드를 재정의합니다.
Protected 메서드 ProcessOnMenuResetDecoratorSizeCommand Decorator 크기 재설정 메뉴 명령을 처리하려면 이 메서드를 재정의합니다.
Protected 메서드 ProcessOnMenuSelectAllCommand 사용자가 편집 메뉴에서 모두 선택 명령을 클릭하거나 Ctrl-A를 누르면 호출됩니다.다이어그램의 모든 모양을 선택합니다.이 동작을 변경하려면 메서드를 재정의합니다.
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 네임스페이스

기타 리소스

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