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 형식에서는 다음과 같은 멤버를 노출합니다.
메서드
이름 | 설명 | |
---|---|---|
![]() |
GetColorableItem | 언어 서비스에 의해 proffered 각 색 사용자 지정 항목에 대 한 항목 정보를 확인 합니다. |
![]() |
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;
}
}
}