다음을 통해 공유


검사 목록: 언어 서비스 만들기

다음 검사 목록에 대 한 언어 서비스를 만들기 위해 수행 해야 하는 기본 단계 요약 한의 Visual Studio 코어 편집기입니다. 언어 서비스에 통합 하는 데 Visual Studio, 디버그 식 계산기를 만들어야 합니다. 자세한 내용은 공용 언어 런타임에서 식 계산기를 작성Visual Studio 디버거 확장.

언어 서비스를 만드는 단계

  1. IVsPackage 인터페이스를 구현합니다.

    • 구현 하면 Vspackage에는 IServiceProvider 언어 서비스를 제공 하는 인터페이스입니다.

    • 언어 서비스를 통합된 개발 환경 (IDE)에서 사용할 수 있도록 사용자 SetSite 구현 합니다.

  2. 구현에서 IVsLanguageInfo 주 언어 서비스 클래스의 인터페이스입니다.

    IVsLanguageInfo 인터페이스 코어 편집기와 언어 서비스 간의 상호 작용의 시작 지점입니다.

선택적 기능

다음 기능은 선택적 이며 순서에 관계 없이 구현할 수 있습니다. 이러한 기능은 언어 서비스의 기능을 증가합니다.

  • 구문 색 지정

    IVsColorizer 인터페이스를 구현합니다. 적절 한 색 정보를 반환 하는 파서 정보가이 인터페이스의 구현을 사용 해야 합니다.

    GetColorizer 메서드가 반환의 IVsColorizer 인터페이스입니다. 구현 해야 하므로 각 텍스트 버퍼에 대 한 별도 colorizer 인스턴스 생성 됩니다 있는 IVsColorizer 별도로 인터페이스. 자세한 내용은 구문 색 지정를 참조하십시오.

  • 코드 창

    구현에서 IVsCodeWindowManager 인터페이스의 새 코드 창을 만들 때 알림 메시지를 받으려면 언어 서비스를 사용 하도록 합니다.

    GetCodeWindowManager 메서드가 반환의 IVsCodeWindowManager 인터페이스입니다. 언어 서비스 특별 한 UI를 코드 창에 다음 추가할 수 있습니다 AddAdornments. 언어 서비스에서 텍스트 보기 필터 추가 같은 특수 처리를 수행할 수도 있습니다 OnNewView.

  • 필터 텍스트 보기

    IntelliSense 문 완성 언어 서비스를 제공 하기 위해 일부 텍스트 보기 처리 합니다. 그렇지 않은 경우 명령은 차단 해야 합니다. 이러한 명령을 차단 하려면 다음 단계를 완료 하십시오.

    처리 해야 하는 명령을 제공 하는 서비스에 따라 달라 집니다. 자세한 내용은 언어 서비스 필터에 대 한 중요 한 명령를 참조하십시오.

    참고

    IVsTextViewFilter 와 같은 개체에서 인터페이스를 구현 해야 합니다는 IOleCommandTarget 인터페이스입니다.

  • 문 완성

    IVsCompletionSet 인터페이스를 구현합니다.

    문 완성 명령을 지원 (, COMPLETEWORD)를 호출 하 고는 UpdateCompletionStatus 메서드에서 IVsTextView 인터페이스를 전달 하는 IVsCompletionSet 인터페이스. 자세한 내용은 문 완성를 참조하십시오.

  • 방법 팁

    구현에서 IVsMethodData 메서드 팁 창에 대 한 데이터를 제공 하는 인터페이스입니다.

    메서드 데이터 팁 창에 표시 하는 시기를 알 수 있도록 명령을 적절 하 게 처리 하 여 텍스트 보기 필터를 설치 합니다. 자세한 내용은 매개 변수 정보 도구 설명를 참조하십시오.

  • 오류 표식

    IVsTextMarkerClient 인터페이스를 구현합니다.

    구현 표식 개체 오류를 만들는 IVsTextMarkerClient 인터페이스와 호출의 CreateLineMarker 메서드를 전달 하는 IVsTextMarkerClient 오류 표식 개체의 인터페이스.

    일반적으로 각 오류 표식 작업 목록 창에서 항목을 관리합니다.

  • 작업 목록 항목

    작업 항목 클래스 제공 구현에서 IVsTaskItem 인터페이스입니다.

    구현 작업 공급자 클래스가 제공의 IVsTaskProvider 인터페이스와 IVsTaskProvider2 인터페이스입니다.

    구현 된 작업 열거자 클래스를 제공 하는 IVsEnumTaskItems 인터페이스입니다.

    작업 목록의 작업이 공급자 등록 RegisterTaskProvider 메서드가 있습니다.

    얻기는 IVsTaskList 인터페이스는 서비스 GUID와 언어 서비스의 서비스 공급자를 호출 하 여 SVsTaskList.

    작업 항목 개체를 만들고 호출이 RefreshTasks 메서드에서 IVsTaskList 있을 때 새로운 인터페이스 또는 작업 업데이트.

  • 작업 항목 설명

    사용의 IVsCommentTaskInfo 인터페이스와 IVsEnumCommentTaskTokens 주석 작업 토큰을 얻을 수 있는 인터페이스입니다.

    얻기는 IVsCommentTaskInfo 에서 인터페이스는 SVsTaskList 서비스 합니다.

    얻기는 IVsEnumCommentTaskTokens 에서 인터페이스는 EnumTokens 메서드.

    구현에서 IVsTaskListEvents 토큰 목록에 대 한 변경 내용을 수신 대기 하는 인터페이스입니다.

  • 개요

    개요를 지 원하는 몇 가지 옵션이 있습니다. 지원할 수 있습니다 예를 들어, 있는 정의 부분만 보이기 명령, 제어 편집기 개요 영역을 제공 하거나 클라이언트 제어 영역을 지원 합니다. 자세한 내용은 방법: 확장 된 개요 지원을 제공를 참조하십시오.

  • 언어 서비스 등록

    언어 서비스를 등록 하는 방법에 대 한 자세한 내용은 참조 하십시오. 언어 서비스를 등록 하는 중Vspackages를 로드합니다..

  • 상황에 맞는 도움말

    컨텍스트 편집기를 다음 방법 중 하나를 제공 합니다.

구현 하 여 모든 사용자 컨텍스트를 제공은 IVsLanguageContextProvider 인터페이스입니다.

참고 항목

기타 리소스

언어 서비스를 개발

공용 언어 런타임에서 식 계산기를 작성