Partager via


IVsLanguageInfo, interface

Extrait des informations sur la programmation ou un langage de balisage, notamment le nom de langue, l'extension de fichier associé, et les spécifications de coloriseur pour la modification de code.

Espace de noms :  Microsoft.VisualStudio.TextManager.Interop
Assembly :  Microsoft.VisualStudio.TextManager.Interop (dans Microsoft.VisualStudio.TextManager.Interop.dll)

Syntaxe

'Déclaration
<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

Le type IVsLanguageInfo expose les membres suivants.

Méthodes

  Nom Description
Méthode publique GetCodeWindowManager Permet à un langage pour ajouter des ornements à un éditeur de code.
Méthode publique GetColorizer Retourne le coloriseur.
Méthode publique GetFileExtensions Retourne les extensions de fichier appartenant à ce langage.
Méthode publique GetLanguageName Retourne le nom du langage de programmation.

Début

Notes

Consulter les illustrations de l'implémentation et/ou d'appeler de cette interface dans l'exemple Figures Language Service.

Remarques à l'attention des implémenteurs

Implémentez cette interface pour créer votre service de langage. C'est l'interface de service de langage de langue principale et est requise pour tous les services linguistiques.

Exemples

Voici un exemple simple d'une implémentation de cette 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;
        }
    }
}

Voir aussi

Référence

Microsoft.VisualStudio.TextManager.Interop, espace de noms