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

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

요구 사항

모델링 확장 솔루션 만들기

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

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

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

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

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

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

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

  2. 설치된 템플릿에서, Visual C# 또는 Visual Basic을 선택하고, 클래스 라이브러리를 선택합니다.

VSIX 프로젝트를 만들려면

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

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

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

    2. 설치된 템플릿에서, Visual C# 또는 Visual Basic을 확장한 다음, 확장성을 선택합니다. 가운데 열에서, VSIX 프로젝트를 선택합니다.

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

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

  5. 메타 데이터 탭에서, 이름과 VSIX의 설명 필드를 설정합니다.

  6. 설치 대상 탭에서, New 를 선택하고 Visual Studio의 Ultimate 와 Premium 에디션을 설정하세요.

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

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

    2. 코드를 사용한 구성 요소에, 새 자산 추가 대화 상자에 이러한 필드를 설정하세요:

      형식 =

      Microsoft.VisualStudio.MefComponent

      소스 =

      현재 솔루션에 있는 프로젝트

      프로젝트 =

      Your class library project

      이 폴더에 박기 =

      (empty)

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

구성 요소 개발

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

확장 형식

항목

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

메뉴 명령

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

[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. 솔루션 탐색기에서, 프로젝트의 바로 가기 메뉴에서, 윈도우 탐색기에서 폴더 열기를 선택합니다.

    2. bin\*\YourProject.vsix파일 위치를 찾습니다

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

    • 대상 컴퓨터는 설치 대상탭에 ( source.extension.vsixmanifest의) 지정된 Visual Studio의 에디션 중 하나가 있어야 합니다.
  3. 대상 컴퓨터에서, .vsix 파일을 엽니다, 예를 들어 두 번 클릭 합니다.

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

  4. 시작 하거나 Visual Studio를 다시 시작 합니다.

확장을 제거하려면

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

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

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

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

%LocalAppData%\Microsoft\VisualStudio\12.0\Extensions

참고 항목

개념

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

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

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

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