IVsLanguageInfo Interface


Retrieves information about a programming or markup language, including language name, associated file extension, and colorizer requirements for code editing.

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

public interface IVsLanguageInfo

System_CAPS_pubmethodGetCodeWindowManager(IVsCodeWindow, IVsCodeWindowManager)

Allows a language to add adornments to a code editor.

System_CAPS_pubmethodGetColorizer(IVsTextLines, IVsColorizer)

Returns the colorizer.


Returns the file extensions belonging to this language.


Returns the name of the programming language.

See illustrations of the implementation and/or calling of this interface in the sample .d166df06-9a77-491d-aa81-6834a4ad7e50

Notes to Implementers:

Implement this interface to create your language service. This is the primary language service interface and is required for all language services.

Here is a simple example of an implementation of this 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;
Return to top