다음을 통해 공유


구문 색 지정

Visual Studio색 지정 서비스를 사용 하 여 언어의 요소를 식별 하 여 편집기에서 지정 된 색상을 표시 합니다.

Colorizer 모델

언어 서비스 구현에서 IVsColorizer 다음 편집기에서 사용 되는 인터페이스입니다. 이 구현 언어 서비스에서 별도 개체는 다음 그림에 표시 된 대로입니다.

간단한 colorizer 모델

SVC 색 지정기 그래픽

참고

구문 서비스의 일반 분리 된 Visual Studio 텍스트 색을 조정 하는 메커니즘입니다.일반에 대 한 자세한 내용은 Visual Studio SDK 색 조정, 지원 메커니즘을 참조 하십시오. 글꼴.

뿐만 아니라 colorizer, 편집기에서 사용자 지정 색 항목을 제공 하는 광고에서 사용 되는 사용자 지정 색 항목 언어 서비스를 제공할 수 있습니다. 구현 하 여이 작업을 수행할 수 있습니다의 IVsProvideColorableItems 인터페이스를 구현 하는 동일한 개체에는 IVsLanguageInfo 인터페이스입니다. 편집기를 호출 하는 경우 사용자 지정 색 항목 수 반환의 GetItemCount 메서드 및 해당 반환를 개별 사용자 지정 색 항목 편집기를 호출 하는 경우는 GetColorableItem 메서드.

GetColorableItem 메서드를 구현 하는 개체를 반환 합니다. 해당 IVsColorableItem 인터페이스입니다. 24 비트 또는 높은 색상 값을 지 원하는 언어 서비스 구현 해야는 IVsHiColorItem 인터페이스와 같은 개체에는 IVsColorableItem 인터페이스입니다.

있는 VSPackage 언어 서비스 Colorizer 사용 하는 방법

  1. 있는 VSPackage 언어 서비스 VSPackage 다음 작업을 수행 해야 하는 적합 한 언어 서비스를 가져와야 합니다.

    1. 구현 하는 개체를 사용 하 여 IVsTextBuffer 텍스트를 조정 하 게 하는 인터페이스입니다.

      구현 하는 개체를 사용 하 여 텍스트 표시 됩니다 일반적으로 IVsTextView 인터페이스입니다.

    2. 언어 서비스를 VSPackage GUID는 언어 서비스의 서비스 공급자를 쿼리하여 가져옵니다. 언어 서비스에서 레지스트리 파일 확장명으로 식별 됩니다.

    3. 언어 서비스와 연결을 IVsTextBuffer 를 호출 하 여 해당 SetLanguageServiceID 메서드.

  2. 지금 있는 VSPackage 있습니다 구하고 colorizer 개체를 다음과 같이 사용.

    참고

    코어 편집기 사용 VSPackages 언어 서비스 colorizer 개체를 명시적으로 얻이 필요가 없습니다.적절 한 언어 서비스 코어 편집기의 인스턴스를 얻는 즉시 여기에 표시 된 색 처리 작업을 모두 수행 합니다.

    1. 구현 하는 언어 서비스 colorizer 개체를 가져온는 T:Microsoft.VisualStudio.TextManager.Interop.IVsColorizer, 및 IVsColorizer2 를 호출 하 여 인터페이스를는 GetColorizer 메서드는 언어 서비스를 IVsLanguageInfo 개체입니다.

    2. 호출 하는 ColorizeLine 텍스트의 특정 범위에 대 한 colorizer 정보를 얻으려면 방법입니다.

      ColorizeLine값을 각각 다른 색으로 표시 되는 텍스트 범위에 문자 배열로 반환 합니다. 코어 편집기에 의해 유지 관리 되는 기본 색 항목 목록 또는 언어 서비스에서 유지 관리 되는 사용자 지정 색 항목 목록 색 항목 목록 인덱스 값을입니다.

    3. 반환할 색 조정 정보를 사용 하는 ColorizeLine 메서드는 선택한 텍스트를 표시 합니다.

참고

언어 서비스 colorizer 이외에 있는 Vspackage도는 일반적인 용도의 사용 하 여 Visual Studio 텍스트 색 메커니즘이 있습니다.이 메커니즘에 대 한 자세한 내용은 참조 하십시오. 글꼴.

단원 내용

참고 항목

기타 리소스

글꼴