Compartilhar via


Interface IVsLanguageInfo

Recupera informações sobre uma linguagem de programação ou marcação, incluindo o nome do idioma, extensão de arquivo associado e requisitos de colorizer para a edição de código.

Namespace:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop (em Microsoft.VisualStudio.TextManager.Interop.dll)

Sintaxe

'Declaração
<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

O tipo IVsLanguageInfo expõe os membros a seguir.

Métodos

  Nome Descrição
Método público GetCodeWindowManager Permite que um idioma adicionar ornamentos a um editor de código.
Método público GetColorizer Retorna o colorizer.
Método público GetFileExtensions Retorna as extensões de arquivo que pertencem a este idioma.
Método público GetLanguageName Retorna o nome da linguagem de programação.

Superior

Comentários

Consulte as ilustrações da implementação e/ou chamada desta interface no exemplo de Figures Language Service.

Observações para implementadores

Implemente essa interface para criar o seu serviço de linguagem. Isso é a interface do serviço de idioma primário e é necessário para todos os serviços de idioma.

Exemplos

Eis um exemplo simples de uma implementação desta interface.

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;
        }
    }
}

Consulte também

Referência

Namespace Microsoft.VisualStudio.TextManager.Interop