Visual Studio SDK 내
Visual Studio 확장 하는 여러 가지 방법이 있습니다. 일반적으로 세 가지: 자동화, VSPackage 확장 및 관리 하는 확장 프레임 워크 (MEF) 확장 합니다.
자동화 주로 매크로 및 추가 기능과 반복적인 작업을 자동화 하거나 사용자 입력에 대 한 구조를 제공 하는 마법사가 사용 됩니다.
있는 Vspackage를 만드는 Visual Studio 확장 하는 강력한 방법입니다. Visual Studio VSPackages 디버거 및 미리 정의 된 도구 모음 예입니다 많은 구성 요소가 포함 되어 있습니다. VSPackage 확장 액세스 하 고 Visual Studio 구성 요소 셸이 및 프로젝트 시스템을 확장할 수 있습니다.
관리 되는 확장성 프레임 워크 (MEF) Visual Studio 2010 편집기에서 처음에 사용 되는 확장성 메커니즘입니다. MEF 사용자 지정 하 고 편집기는 Vspackage를 만들 필요 없이 확장할 수 있습니다.
Visual Studio 확장 모델
확장성 모델 Visual Studio extender를 액세스 하 고 Visual Studio 구성 요소를 확장할 수 있도록 하는 다른 라이브러리에 구성 됩니다.
모델의 첫 번째 레이어는 동일한 Microsoft 개발자 Visual Studio 개발 하는 데 사용 하는 인터페이스 집합입니다 Visual Studio API는 찾을 수 없습니다. Visual Studio 라이브러리 (VSL) 라는 서식 파일을 기준으로 라이브러리를 사용 확장을 관리 되지 않는 코드를 작성할 수 있습니다.
확장 관리 되는 코드를 작성 하는 경우 Visual Studio interop 어셈블리를 직접 사용 또는 관리 하는 패키지 프레임 워크 (MPF)를 사용할 수 있습니다. 여러 Visual Studio API의 인터페이스를 래핑하는 클래스 패키지 관리 프레임 워크를 제공 합니다.
2010 Visual Studio 편집기를 확장 하는 경우 편집기 어셈블리 뿐만 아니라 Visual Studio 편집기를 확장 보급 하는 계약을 정의 하는 MEF 어셈블리를 사용할 수 있습니다.
자세한 내용은 다음을 참조하십시오.
Visual Studio 서비스
특정 인터페이스 집합을 사용 하는 구성 요소에 대 한 서비스를 제공 합니다. Visual Studio 확장명을 포함 하 여 모든 구성 요소에서 사용할 수 있는 서비스 집합을 제공 합니다. 예를 들어, Visual Studio 서비스를 표시 하거나 동적으로 숨겨져 액세스 도움말, 상태 표시줄 또는 UI 이벤트를 사용 하는 도구 창이 있습니다. 또한 Visual Studio 2010 편집기 편집기 확장에서 가져올 수 있는 서비스를 제공 합니다.
자세한 내용은 다음을 참조하십시오.
Visual Studio 확장 가능한 구성 요소
Visual Studio 확장 기능에서 가장 많이 사용 된 다음 구성 요소는 다음과 같습니다.
셸 명령
메뉴 및 도구 모음
도구 창
문서 창
편집기
언어 서비스
프로젝트
템플릿
명령
명령 문서 인쇄, 보기, 새로 고침 또는 새 파일을 만드는 것과 같은 작업을 수행 하는 함수입니다.
Visual Studio 확장 하면 명령을 만들어가 Visual Studio 셸을 사용 하 여 등록할 수 있습니다. 이러한 명령을 IDE에 예를 들어, 메뉴 또는 도구 모음의 모양을 지정할 수 있습니다. 일반적으로 사용자 지정 명령에 표시 되는 도구 메뉴를 한 도구 창을 표시 하는 명령에 표시는 다른 창 의 하위 메뉴의 보기 메뉴.
명령을 만들 때도 이벤트 처리기를 만들어야 합니다. 이벤트 처리기 때 명령이 표시 되거나 사용할 수, 그 텍스트를 수정할 수 있습니다 활성화 때 명령을 적절 하 게 응답 하도록 보장 확인입니다. 대부분의 경우, IDE 명령 사용 하 여 처리는 IOleCommandTarget 인터페이스입니다. 지역 선택에 따라 및 전역 선택에 따라 가장 바깥쪽 컨텍스트를 진행 안쪽의 명령 컨텍스트를 시작 Visual Studio 명령은 처리 합니다. 주 메뉴에 추가 하는 명령을 스크립트에 바로 사용할 수 있습니다.
자세한 내용은 Vspackages에 IDE 사용자 인터페이스 요소를 추가 하는 방법를 참조하십시오.
메뉴 및 도구 모음
메뉴 및 도구 모음 사용자가 명령을 호출할 수 있습니다. 메뉴의 명령은 일반적으로 개별 텍스트 항목 도구 창의 위쪽에 표시 되는 행 또는 열입니다. 하위 메뉴에 작은 화살표가 포함 명령을 클릭할 때 표시 되는 보조 메뉴입니다. 특정 UI 요소를 클릭할 때 상황에 맞는 메뉴를 표시 합니다. 일부 공통 메뉴 이름은 파일, 편집, 보기, 및 창. 자세한 내용은 일반적인 작업 명령, 메뉴 및 도구 모음 사용를 참조하십시오.
도구 모음 단추 및 콤보 상자, 목록 상자와 텍스트 상자 같은 다른 컨트롤의 행 또는 열입니다. 도구 모음 단추에는 일반적으로 폴더 아이콘을 같은 아이콘 이미지에는 파일 열기 명령 또는 프린터에는 인쇄 명령을. 모든 도구 모음 요소와 명령을 연결 됩니다. 도구 모음 단추를 클릭 하면 해당 관련 된 명령이 실행 됩니다. 드롭다운 컨트롤의 드롭다운 목록의 각 항목에에서 여러 명령을 사용 하 여 연결 된. Splitter 컨트롤과 같은 도구 모음 컨트롤, 하이브리드입니다. 한 쪽에 컨트롤 도구 모음 단추 고 다른 쪽, 클릭 하면 몇 가지 명령이 표시 됩니다. 아래쪽 화살표입니다.
자세한 내용은 다음을 참조하십시오.
도구 창
도구 창은 IDE에서 정보를 표시 하는 데 사용 됩니다. 도구 상자, 솔루션 탐색기, 속성 창 고 웹 브라우저 예의 도구 창입니다.
일반적으로 도구 창이 사용자와 상호 작용할 수 있는 다양 한 컨트롤을 제공 합니다. 예를 들어 있는 속성 창 사용자 특정 목적으로 사용 되는 개체의 속성을 설정할 수 있습니다. 속성이 창입니다 여기에서 특수화 된 있지만 또한 일반적인 여러 가지 상황에서 사용 될 수 있으므로. 마찬가지로, 해당 출력 많은 하위 Visual Studio이 출력 Visual Studio 사용자에 게 제공할 수 있습니다 때문에 있지만 일반 텍스트 기반 출력을 제공 하기 때문에 창 특수화 된.
다음과 같은 그림을을 여러 도구 창이 들어 있는 Visual Studio 것이 좋습니다.
일부 도구 창은 함께 솔루션 탐색기 도구 창을 표시 하 고 도구 창을 숨기는 있지만 사용할 수 탭을 클릭 하 여 있습니다 단일 창에 도킹 됩니다. 다른 도구 창에 두 개의 그림과 오류 목록 및 출력 창을 단일 창에 도킹 된.
또한 여러 편집기 창을 표시 하는 주 문서 창이입니다. 도구 창을 일반적으로 하나의 인스턴스가 있지만 (예를 들어, 하나의 열 수 있습니다 솔루션 탐색기), 편집기 창을 각각 별도 문서를 편집 하는 데 사용 됩니다 있지만 모든 항목은 동일한 창에 도킹 된 여러 인스턴스를 가질 수 있습니다. 그림 편집기 창 두 개, 하나의 폼 디자이너 창 및 시작 페이지를 표시 하는 브라우저 창이 있는 문서 창을 표시 합니다. 탭을 클릭 하 여 문서 창에서 모든 창을 사용할 수 있지만 EditorPane.cs 파일 편집기 창 표시 및 활성화 됩니다.
Visual Studio 확장할 때 확장명을 가진 Visual Studio 사용자가 windows와 상호 작용 하는 도구를 만들 수 있습니다. Visual Studio 사용자가 문서를 편집할 수 있도록 사용자의 편집기를 만들 수도 있습니다. 도구 창과 편집기 Visual Studio 통합 될 것 때문에 도킹 하거나 탭에 제대로 나타납니다 프로그래밍할 필요가 없습니다. Visual Studio 올바르게 등록 하면 자동으로 도구 창과 문서 창에서 Visual Studio 일반적인 기능을 갖습니다.
자세한 내용은 다음을 참조하십시오.
문서 창
문서 창에 다중 문서 인터페이스 (MDI) 창이 자식 프레임된 창이입니다. 문서 창의 텍스트 편집기, 양식 편집기 (도 디자이너) 또는 편집 컨트롤을 호스팅하려면 일반적으로 사용 됩니다 있지만 다른 기능 유형 들도 호스팅할 수 있습니다. 해당 새 파일 예제 Visual Studio 제공 하는 문서 창 대화 상자에 있습니다.
대부분의 편집기는 특정 프로그래밍 언어 또는 HTML 페이지, 프레임셋, c + + 파일, 헤더 파일 등의 파일 형식입니다. 서식 파일을 선택 하 여 해당 새 파일 대화 상자에서 사용자를 동적으로 작성 문서 창의 서식 파일과 연결 된 파일 형식에 대 한 편집기에 대 한. 사용자가 기존 파일을 열 때 문서 창이 만들어집니다.
문서 창이 MDI 클라이언트 영역에 제한 됩니다. 각 문서 창 위쪽에 있는 탭이 및 MDI 영역에서 열려 있을 수 있습니다 기타 windows 탭 순서 대로 연결 됩니다. 문서 윈도우의 탭을 마우스 오른쪽 단추로 MDI 영역 여러 가로 또는 세로 탭 그룹으로 구분할 수 있는 옵션이 포함 된 바로 가기 메뉴를 표시 합니다. MDI 영역 분할 하면 여러 파일을 동시에 볼 수 있습니다.
자세한 내용은 다음을 참조하십시오.
편집기
Visual Studio 2010 편집기는 새로운 Visual Studio 구성 요소입니다. 새 편집기 자체는 VSPackage 이지만,이 사용자 지정 하 고 고유한 콘텐츠 형식에는 관리 되는 확장성 프레임 워크 (MEF로) 사용 수 있습니다. 대부분의 경우에는 셸 (예를 들어, 메뉴 명령 또는 바로 가기 키)에서 기능을 포함 하는 경우는 MEF 확장 있는 Vspackage를 결합할 수 있습니다 있지만 편집기를 확장 하 여 Vspackage를 만들 필요가 없습니다.
읽기 및 데이터베이스에 기록 하 고 싶다면 나는 디자이너를 사용 하려는 경우 예를 들어 사용자 지정 편집기를 만들 수도 있습니다. Microsoft 워드 패드 또는 메모장 같은 외부 편집기를 사용할 수도 있습니다.
자세한 내용은 편집기를 참조하십시오.
언어 서비스
Visual Studio 편집기에서 새 프로그래밍 키워드 또는 심지어 새로운 프로그래밍 언어를 지원 하려면 언어 서비스를 만듭니다. 각 언어 서비스 특정 편집기 기능을 완벽 하 게, 부분적으로 또는 전혀 구현할 수 있습니다. 구문 강조, 중괄호 일치, IntelliSense 지원 및 기타 기능에는 편집기에서 구성 하는 방법에 따라 언어 서비스 제공할 수 있습니다.
언어 서비스의 핵심을 파서 및 스캐너입니다. 스캐너 (또는 렉서) 소스 파일 토큰으로 알려진 요소로 나누고 파서가 해당 토큰 간의 관계를 설정 합니다. Visual Studio 토큰 및 문법의 언어를 이해할 수 있도록 언어 서비스를 만들 때 스캐너 및 파서를 구현 해야 합니다.
관리 되거나 관리 되지 않는 언어 서비스를 만들 수 있습니다.
자세한 내용은 다음을 참조하십시오.
프로젝트
Visual Studio 프로젝트 개발자를 사용 하 여 구성 하 고 소스 코드 및 기타 리소스를 만들 수 있는 컨테이너입니다. 수 있도록 구성, 빌드, 디버깅 및 소스 코드를 배포 프로젝트에서 웹 서비스 및 데이터베이스 및 기타 리소스를 참조 합니다. 프로젝트 형식, 하위 프로젝트, 사용자 지정 도구를 제공 하 여 VSPackages Visual Studio 프로젝트 시스템을 확장할 수 있습니다.
또한 프로젝트는 그룹 응용 프로그램을 만들기 위해 함께 작동 하는 하나 이상의 프로젝트를 솔루션으로 수집 될 수 있습니다. 솔루션에 관련 된 프로젝트 및 상태 정보가 두 개의 솔루션 파일, 텍스트 기반 솔루션 (.sln) 파일 및 이진 솔루션 사용자 옵션 (.suo) 파일에 저장 됩니다. 이러한 파일의 이전 버전에 사용 된 그룹 (.vbg) 파일과 유사 Visual Basic, 작업 영역 (.dsw) 및 사용자의 이전 버전에서 사용한 파일 (.opt) 옵션 및 Visual C++.
자세한 내용은 다음을 참조하십시오.
프로젝트 템플릿과 항목 템플릿
Visual Studio 미리 정의 된 프로젝트 템플릿과 프로젝트 항목 템플릿이 포함 됩니다. 템플릿을 직접 만들 수도 또는 템플릿 커뮤니티를 확보 한 다음에 Visual Studio 통합 수 있습니다. MSDN 코드 갤러리 템플릿 및 확장에 대 한 이동 하는 곳입니다.
템플릿 프로젝트 구조와 특정 한 종류의 응용 프로그램, 컨트롤, 라이브러리 또는 클래스를 빌드하는 데 필요한 기본 파일이 포함 되어 있습니다. 템플릿 중 하나를 유사한 소프트웨어를 개발 하는 경우 서식 파일을 기반으로 하는 프로젝트 만들기 및 다음 해당 프로젝트의 파일을 수정 합니다.
참고
이 템플릿 아키텍처에 대해 지원 되지 않습니다 Visual C++ 프로젝트입니다.만드는 방법에 대 한 내용은 Visual C++ 템플릿 프로젝트 자세한 내용은 마법사 디자인.
자세한 내용은 프로젝트 및 프로젝트 항목 템플릿 추가를 참조하십시오.
셸 통합된 및 격리 셸 응용 프로그램
통합된 모드 또는 격리 모드로 확장 Visual Studio 통합할 수 있습니다.
통합된 된 셸을 사용 하 여 고객에 게 다른 Visual Studio 구성 요소와 함께 사용할 수 있는 사용자 지정 도구를 제공할 수 있습니다. 통합된 된 셸에 호스트 언어와 소프트웨어 도구에 최적화 되어 있습니다.
격리 셸 사용 하 여 Visual Studio Visual Studio 구성 요소만을 셸에서 실행 하는 사용자 지정 도구를 만들 수 있습니다. 격리 셸 Visual Studio 서비스에 대 한 모든 권한이 있지만 사용자 정의 모양이 특수 도구에 대해 최적화 되 고 브랜드입니다.
자세한 내용은 다음을 참조하십시오.