IVsLanguageInfo 介面
擷取程式設計或標記的語言,包括語言名稱、 關聯的副檔名,以及編輯程式碼的 colorizer 需求的相關資訊。
命名空間: Microsoft.VisualStudio.TextManager.Interop
組件: Microsoft.VisualStudio.TextManager.Interop (在 Microsoft.VisualStudio.TextManager.Interop.dll 中)
語法
'宣告
<InterfaceTypeAttribute()> _
<GuidAttribute("11DDB920-52C7-4237-8610-9FE8BB11656D")> _
Public Interface IVsLanguageInfo
[InterfaceTypeAttribute()]
[GuidAttribute("11DDB920-52C7-4237-8610-9FE8BB11656D")]
public interface IVsLanguageInfo
[InterfaceTypeAttribute()]
[GuidAttribute(L"11DDB920-52C7-4237-8610-9FE8BB11656D")]
public interface class IVsLanguageInfo
[<InterfaceTypeAttribute()>]
[<GuidAttribute("11DDB920-52C7-4237-8610-9FE8BB11656D")>]
type IVsLanguageInfo = interface end
public interface IVsLanguageInfo
IVsLanguageInfo 類型會公開下列成員。
方法
名稱 | 描述 | |
---|---|---|
GetCodeWindowManager | 允許新增裝飾至程式碼編輯器的一種語言。 | |
GetColorizer | 傳回 colorizer。 | |
GetFileExtensions | 傳回屬於此語言的副檔名。 | |
GetLanguageName | 傳回的程式語言名稱。 |
回頁首
備註
實作的圖例和 (或) 在這個範例中,這個介面的電話,請參閱Figures Language Service。
實作者注意事項
實作這個介面來建立您的語言服務。 這是主要語言服務介面,而且需要為所有語言的服務。
範例
下面是一個簡單的範例,此介面之實作。
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.TextManager.Interop;
namespace MyLanguagePackage
{
class MyLanguageService : IVsLanguageInfo
{
public int GetCodeWindowManager(IVsCodeWindow pCodeWin,
out IVsCodeWindowManager ppCodeWinMgr)
{
// MyCodeWindowManager class implements IVsCodeWindowManager.
ppCodeWinMgr = new MyCodeWindowManager(pCodeWin);
return VSConstants.S_OK;
}
public int GetColorizer(IVsTextLines pBuffer
out IVsColorizer ppColorizer)
{
// MyColorizer implements IVsColorizer
ppColorizer = new MyColorizer(pBuffer);
return VSConstants.S_OK;
}
public int GetFileExtensions(out string pbstrExtensions)
{
// This is the same extension the language service was
// registered as supporting.
pbstrExtensions = ".myext";
return VSConstants.S_OK;
}
public int GetLanguageName(out string bstrName)
{
// This is the same name the language service was
// registered with.
bstrName = "MyLanguage";
return VSConstants.S_OK;
}
}
}