방법: 모델링 확장 정의 및 설치

Visual Studio 최종에서 사용자 확장 모델링 다이어그램에 정의할 수 있습니다.이런 식으로 필요에 맞게 다이어그램과 모델을 사용할 수 있습니다.예를 들어 메뉴 명령, UML 프로필, 유효성 검사 제약 조건 및 도구 상자 항목을 정의할 수 있습니다.단일 확장에 여러 개의 구성 요소를 정의할 수 있습니다.이러한 확장의 형태로 다른 Visual Studio 최종 사용자에 게 배포할 수도 있습니다는 Visual Studio 통합 확장 (VSIX). VSIX 프로젝트에서 Visual Studio 사용 된 VSIX를 만들 수 있습니다.

요구 사항

모델링 확장 솔루션 만들기

모델링 확장을 정의하려면 다음과 같은 프로젝트를 포함하는 솔루션을 만들어야 합니다.

  • VSIX(Visual Studio Integration Extension) 프로젝트.이 프로젝트는 확장의 구성 요소에 대한 설치 관리자로 사용할 파일을 생성합니다.

  • 클래스 라이브러리 프로젝트 - 프로그램 코드를 포함하는 구성 요소에 필요합니다.

여러 개의 구성 요소가 포함된 확장을 만들려는 경우 단일 솔루션에 이를 개발할 수 있습니다.VSIX 프로젝트가 하나만 필요한.

별도 클래스 라이브러리 프로젝트를 사용 하지 않고 UML 프로 파일, 사용자 지정 및 사용자 지정 도구 상자 항목 코드를 요구 하지 않는 구성 요소를 VSIX 프로젝트에 직접 추가할 수 있습니다.프로그램 코드를 필요로 하는 구성 요소는 별도 클래스 라이브러리 프로젝트에서 더 쉽게 정의 됩니다.제스처 처리기, 메뉴 명령 및 유효성 검사 코드를 필요로 하는 구성 요소를 포함 합니다.

메뉴 명령, 제스처 처리기 또는 유효성 검사에 대 한 클래스 라이브러리 프로젝트를 만들려면

  1. 파일 메뉴에서 새로 만들기, 프로젝트를 선택합니다.

  2. 아래 템플릿 설치, C# 또는 Visual Basic, 다음 선택 클래스 라이브러리.

VSIX 프로젝트를 만들려면

  1. 코드를 사용하여 구성 요소를 만드는 경우에는 먼저 클래스 라이브러리 프로젝트를 만드는 것이 더 쉽습니다.그런 다음 해당 프로젝트에 코드를 추가할 것입니다.

  2. VSIX 프로젝트를 만듭니다.

    1. 솔루션 탐색기, 솔루션의 바로 가기 메뉴에서 선택 추가, 새 프로젝트.

    2. 아래 설치 되어 있는 템플릿, 확장 C# 또는 Visual Basic, 선택 확장성.가운데 열에서 선택한 VSIX 프로젝트.

  3. VSIX 프로젝트를 솔루션의 시작 프로젝트로 설정합니다.

    • 솔루션 탐색기에서 VSIX 프로젝트의 바로 가기 메뉴에서 선택 시작 프로젝트로 설정.
  4. source.extension.vsixmanifest를 엽니다.파일이 매니페스트 편집기에서 열립니다.

  5. 메타 데이터 탭에서 이름 및 설명 필드는 VSIX의 설정.

  6. 설치 대상 탭에서 선택 새로 최고 및 프리미엄 버전의 Visual Studio 설정 합니다.

  7. 자산 탭에서 Visual Studio 확장 구성 요소를 추가 합니다.

    1. 새로 만들기를 선택합니다.

    2. 이러한 필드 코드에는 구성 요소에 대 한 설정의 추가 새 자산 대화 상자:

      Type =

      Microsoft.VisualStudio.MefComponent

      소스 =

      현재 솔루션의 프로젝트에

      프로젝트 =

      클래스 라이브러리 프로젝트

      이 폴더에 포함 =

      (비어 있음)

      다른 구성 요소 형식의 경우 다음 단원에서 링크를 참조하십시오.

구성 요소 개발

메뉴 명령이나 제스처 처리기와 같은 각 구성 요소에 대해 개별 처리기를 정의해야 합니다.여러 처리기 같은 클래스 라이브러리 프로젝트에 추가할 수 있습니다.다음 표에서는 다양한 종류의 처리기를 요약하여 보여 줍니다.

확장 형식

항목

각 구성 요소의 일반적인 선언 방식

메뉴 명령

방법: 모델링 다이어그램의 메뉴 명령 정의

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(ICommandExtension))]

public class MyCommand : ICommandExtension

{...

끌어서 놓기 또는 두 번 클릭

방법: 모델링 다이어그램의 제스처 처리기 정의

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(IGestureExtension))]

public class MyGesture : IGestureExtension

{...

유효성 검사 제약 조건

방법: UML 모델에 대한 유효성 검사 제약 조건 정의

[Export(typeof( System.Action<ValidationContext, object>))]

[ValidationMethod(ValidationCategories.Save

| ValidationCategories.Menu)]

public void ValidateSomething

(ValidationContext context, IClassifier elementToValidate)

{...}

작업 항목 링크 이벤트 처리기

방법: 작업 항목 링크 처리기 정의

[Export(typeof(ILinkedWorkItemExtension))]

public class MyWorkItemEventHandler : ILinkedWorkItemExtension

{...

UML 프로필

방법: 프로필을 정의하여 UML 확장

(정의 하는 경우)

도구 상자 항목

방법: 사용자 지정 모델링 도구 상자 항목 정의

(정의 하는 경우)

개발 중에 확장 실행

개발 중에 확장을 실행하려면

  1. 에 Visual Studio디버깅 메뉴를 선택 디버깅 시작.

    프로젝트가 빌드되고 Visual Studio의 새 인스턴스가 실험 모드에서 시작됩니다.

    • 또는 선택할 수 있는 디버깅 하지 않고 시작.이렇게 하면 프로그램을 시작하는 데 소요되는 시간이 줄어듭니다.
  2. 만들기 또는 실험 Visual Studio 인스턴스에서 모델링 프로젝트를 엽니다 및 만들거나 다이어그램을 엽니다.

    확장이 로드된 후 실행됩니다.

  3. 사용한 경우 디버깅 하지 않고 시작 하지만 디버거를 사용 하는 Visual Studio 기본 인스턴스를 다시 이동 합니다.디버그 메뉴에서 프로세스에 연결을 클릭합니다.대화 상자에서 프로그램 이름이 Visual Studio, 실험 인스턴스의 선택 devenv.

확장 설치 및 제거

자신의 컴퓨터 또는 다른 컴퓨터에 Visual Studio 기본 인스턴스에서 확장을 실행 하려면 다음 단계를 수행 합니다.

  1. 컴퓨터에서 확장 프로젝트에 의해 빌드된 .vsix 파일을 찾습니다.

    1. 솔루션 탐색기, 프로젝트의 바로 가기 메뉴에서 다음 선택 Windows 탐색기에서 폴더 열기.

    2. bin\*\YourProject.vsix 파일을 찾습니다.

  2. 확장을 설치할 대상 컴퓨터에 .vsix 파일을 복사합니다.대상 컴퓨터는 현재 사용 중인 컴퓨터일 수도 있고 다른 컴퓨터일 수도 있습니다.

    • 대상 컴퓨터에 지정 된 Visual Studio 버전 중 하나가 있어야 합니다의 설치 대상source.extension.vsixmanifest.
  3. 대상 컴퓨터에서 열에 .vsix 파일을 두 번 클릭 하 여 예를 들어.

    Visual Studio Extension 설치 관리자가 열리고 확장이 설치됩니다.

  4. 시작 또는 Visual Studio 다시 시작 합니다.

확장을 제거하려면

  1. 도구 메뉴에서 확장 관리자를 클릭합니다.

  2. 설치된 확장을 확장합니다.

  3. 확장을 선택하고 제거를 클릭합니다.

드물기는 하지만 잘못된 확장은 로드되지 않으며 오류 창에 보고서가 만들어지지만 확장 관리자에는 나타나지 않습니다.이 경우 다음 위치에서 파일을 삭제하여 확장을 제거할 수 있습니다. 여기서 %LocalAppData%는 대개 DriveName:\Users\UserName\AppData\Local입니다.

%LocalAppData%\Microsoft\VisualStudio\11.0\Extensions

참고 항목

개념

방법: 프로필을 정의하여 UML 확장

방법: 사용자 지정 모델링 도구 상자 항목 정의

방법: UML 모델에 대한 유효성 검사 제약 조건 정의

방법: 모델링 다이어그램의 메뉴 명령 정의