다음을 통해 공유


IVsProvideColorableItems 인터페이스

코드 편집기 사용자 지정 색 항목 proffered 언어 서비스에서 알 수 있습니다.

네임스페이스:  Microsoft.VisualStudio.TextManager.Interop
어셈블리:  Microsoft.VisualStudio.TextManager.Interop(Microsoft.VisualStudio.TextManager.Interop.dll)

구문

‘선언
<GuidAttribute("100B9A33-905C-4312-B2A2-452189F19AB9")> _
<InterfaceTypeAttribute()> _
Public Interface IVsProvideColorableItems
[GuidAttribute("100B9A33-905C-4312-B2A2-452189F19AB9")]
[InterfaceTypeAttribute()]
public interface IVsProvideColorableItems
[GuidAttribute(L"100B9A33-905C-4312-B2A2-452189F19AB9")]
[InterfaceTypeAttribute()]
public interface class IVsProvideColorableItems
[<GuidAttribute("100B9A33-905C-4312-B2A2-452189F19AB9")>]
[<InterfaceTypeAttribute()>]
type IVsProvideColorableItems =  interface end
public interface IVsProvideColorableItems

IVsProvideColorableItems 형식에서는 다음과 같은 멤버를 노출합니다.

메서드

  이름 설명
Public 메서드 GetColorableItem 언어 서비스에 의해 proffered 각 색 사용자 지정 항목에 대 한 항목 정보를 확인 합니다.
Public 메서드 GetItemCount 언어 서비스에 의해 proffered 사용자 지정 색 항목의 수를 결정 합니다.

위쪽

설명

구현에서 IVsProvideColorableItems, 코어 편집기에 사용자 지정 색 항목 proffer 및 코어 편집기 제공 색 항목의 개수를 알려 및 해당 기본 색상/굵게 설정 합니다. 코어 편집기를 사용자의 현재 색 선택 색을 항목에 대 한 관리 (에서 설정으로 옵션 대화 상자에는 도구 메뉴). 기본 색 항목 같은 언어 보다는 기본값을 지정 하는 색 항목의 시각적 모양을 통해 직접 제어할 수 없습니다.

이 인터페이스가 제공 이외의 언어 요소에 대 한 편집기를 제공 하는 데 사용 됩니다 DEFAULTITEMS. 기존 언어 요소 (예를 들어, 주석 또는 키워드)를 재정의 하지 마십시오와 같은 이름의 기존 하거나 기본 언어 요소를 사용 하지 마십시오.

구현자 참고 사항

언어 서비스에서 사용자 지정 색 항목을 지원 하려면이 인터페이스를 구현 하는 클래스에서 구현 해야 합니다는 IVsLanguageInfo 인터페이스와 인터페이스를 통해 액세스 하기 위한 지원을 제공의 QueryInterface 메서드. 메서드를 구현 하는 IVsProvideColorableItems 목록이 필요한 인터페이스를 IVsColorableItems 요청 시 제공 (참조는 IVsColorableItem 인터페이스의 사용자 지정 색 항목의 목록을 만드는 방법 예).

호출자 참고 사항

편집기를 호출 하 여이 인터페이스를 가져옵니다는 QueryInterface 메서드에서 IVsLanguageInfo 언어 서비스를 나타내는 인터페이스입니다.

예제

언어 서비스에서이 인터페이스를 구현 하 수도 있습니다 하는 방법의 예는 다음과 같습니다. 예제에는 IVsColorableItem 인터페이스를 구현 하는 방법을 보여 줍니다 있는 MyColorableItem 클래스입니다.

using Microsoft.VisualStudio;
using Microsoft.VisualStudio.TextManager.Interop;

namespace MyLanguagePackage
{
    class MyLanguageService : IVsLanguageInfo, IVsProvideColorableItems
    {
        private MyColorableItems colorableItemsList[];
        public MyLanguageService()
        {
            // populate the colorableItemsList here.
        }

        public int GetItemCount(out int piCount)
        {
            piCount = 0;
            if (this.colorableItemsList != null)
            {
                 if (this.colorableItemsList.Length > 0)
                 {
                     // The first color is a placeholder and is
                     // never counted.
                     piCount = this.colorableItemsList.Length - 1;
                 }
            }
            return VSConstants.S_OK;
        }

        public int GetColorableItem(int iIndex, out IVsColorableItem ppItem)
        {
            int retval = VsConstants.E_INVALIDARG;

            ppItem = null;
            if (this.colorableItemList != null &&
                iIndex >= 0 && iIndex < this.colorableItemList.Length)
            {
                 ppItem = this.colorableItemsList[iIndex];
                 retval = VSConstants.S_OK;
            }
            return retval;
        }
    }
}

참고 항목

참조

Microsoft.VisualStudio.TextManager.Interop 네임스페이스