Udostępnij za pośrednictwem


Klasa LanguageService

To jest klasą bazową dla usługa języka, która dostarcza funkcji języka, w tym wyróżnianie składni, dopasowywanie nawiasów, automatyczne uzupełnianie, obsługę technologii IntelliSense i rozszerzenia urywek kodu.

Ten interfejs API nie jest zgodny ze specyfikacją CLS. 

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.Package.LanguageService

Przestrzeń nazw:  Microsoft.VisualStudio.Package
Zestawy:   Microsoft.VisualStudio.Package.LanguageService.9.0 (w Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (w Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (w Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService (w Microsoft.VisualStudio.Package.LanguageService.dll)

Składnia

'Deklaracja
<CLSCompliantAttribute(False)> _
<ComVisibleAttribute(True)> _
Public MustInherit Class LanguageService _
    Implements IDisposable, IVsLanguageInfo, IVsLanguageDebugInfo, IVsProvideColorableItems,  _
    IVsLanguageContextProvider, IServiceProvider, IObjectWithSite, ISynchronizeInvoke, IVsDebuggerEvents,  _
    IVsFormatFilterProvider
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(true)]
public abstract class LanguageService : IDisposable, 
    IVsLanguageInfo, IVsLanguageDebugInfo, IVsProvideColorableItems, IVsLanguageContextProvider, IServiceProvider, 
    IObjectWithSite, ISynchronizeInvoke, IVsDebuggerEvents, IVsFormatFilterProvider

Typ LanguageService uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda chroniona LanguageService Inicjuje nowe wystąpienie LanguageService klasy.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna InvokeRequired Określa, jeśli metoda musi wywołany przez granice wątków.
Właściwość publiczna IsActive Określa, czy usługa języka jest podłączony do bieżącego widoku i dlatego jest aktywny.
Właściwość publiczna IsDebugging Określa, czy debugera jest aktywny.
Właściwość publiczna IsParsing Określa, jeżeli analizy tła jest w toku.
Właściwość publiczna LastActiveTextView Zwraca ostatni widok aktywny tekst skojarzony z tą usługą języka.
Właściwość publiczna MainThreadId Zwraca identyfikator wątku, na którym uruchomiona jest ta usługa języka.
Właściwość publiczna Name Zwraca nazwę języka (na przykład "C++" lub "HTML").
Właściwość chroniona ParseThreadIsAlive
Właściwość publiczna ParseThreadPaused
Właściwość publiczna Preferences Zapewnia dostęp do preferencji języka usługi.
Właściwość publiczna Site Zwraca usługodawca, biorąc pod uwagę do tej usługi języka.

Początek

Metody

  Nazwa Opis
Metoda publiczna AbortBackgroundParse
Metoda publiczna AddCodeWindowManager Dodaje Menedżera okien kodu do usługi języka.
Metoda publiczna BeginInvoke Wywołuje metodę w innym wątku.
Metoda publiczna BeginParse Rozpoczyna operację analizy na wątek tła.
Metoda publiczna CanStopThread
Metoda publiczna CreateCodeWindowManager Tworzy CodeWindowManager klasy.
Metoda publiczna CreateDocumentProperties Tworzy DocumentProperties klasy.
Metoda publiczna CreateDropDownHelper Tworzy TypeAndMemberDropdownBars klasy.
Metoda publiczna CreateExpansionFunction Tworzy ExpansionFunction klasy.
Metoda publiczna CreateExpansionProvider Tworzy ExpansionProvider klasy.
Metoda publiczna CreateParseRequest Tworzy żądanie do zaspokojenia potrzeb danego powód analizowania, który jest następnie przekazywany do analizatora składni.
Metoda publiczna CreateSource Tworzy Source klasy.
Metoda publiczna CreateViewFilter Tworzy ViewFilter klasy.
Metoda publiczna CurFileExtensionFormat Zwraca indeks do listy rozszerzenie pliku, która odpowiada rozszerzenie nazwy pliku określonej.
Metoda publiczna DispatchCommand(Guid, UInt32, IntPtr, IntPtr) Wywoływana w celu wykonania określonego polecenia.
Metoda publiczna DispatchCommand(Guid, UInt32, UInt32, IntPtr, IntPtr)
Metoda publiczna Dispose Wywołana, kiedy niszczony jest obiekt usługi języka.
Metoda publiczna EndInvoke Pobiera wynik wywołanie asynchroniczne uruchomione przez LanguageService.BeginInvoke.
Metoda publiczna Equals Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object).
Metoda chroniona Finalize Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object).
Metoda publiczna GetCodeWindowManager Tworzy CodeWindowManager klasy.
Metoda publiczna GetCodeWindowManagerForSource Zwraca CodeWindowManager obiektu skojarzonego z określonym Source obiektu.
Metoda publiczna GetCodeWindowManagerForView Zwraca CodeWindowManager skojarzone z określonym IVsTextView obiektu.
Metoda publiczna GetColorableItem Zwraca żądane IVsColorableItem obiektu.
Metoda publiczna GetColorizer(IVsTextLines) Iinstantiates Colorizer klasy.
Metoda publiczna GetColorizer(IVsTextLines, IVsColorizer%) Zwraca colorizer, związane z Source obiekt, który zawiera dany IVsTextLines obiektu.
Metoda publiczna GetFileExtensions Zwraca ciąg zawierający rozszerzenia plików skojarzonych z tym językiem.
Metoda publiczna GetFormatFilterList Zwraca listę filtrów rozszerzenie pliku nadające się do Zapisać jako okno dialogowe.
Metoda publiczna GetHashCode Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object).
Metoda publiczna GetImageList Zwraca listę obrazów zawierających glify skojarzone z usługą języka.
Metoda publiczna GetItemCount Zwraca liczbę niestandardowych elementów colorable, obsługiwane przez usługę języka.
Metoda publiczna GetIVsDebugger Zwraca IVsDebugger obiekt reprezentujący debugera aktualnie dostępnych do nasłuchiwania zdarzeń debugera.
Metoda publiczna GetIVsTextMacroHelperIfRecordingOn Zwraca IVsTextMacroHelper obiektu, jeśli jest włączona funkcja rejestrowania makr.
Metoda publiczna GetLanguageID Zwraca języka GUID usługi języka.
Metoda publiczna GetLanguageName Zwraca nazwę języka, który obsługuje tę usługę języka.
Metoda publiczna GetLanguagePreferences Zwraca LanguagePreferences obiektu dla tej usługi języka.
Metoda publiczna GetLanguageServiceGuid Zwraca identyfikator GUID usługi języka.
Metoda publiczna GetLocationOfName Metoda, która zawsze zwraca przestarzałe E_NOTIMPL.
Metoda publiczna GetNameOfLocation Zwraca nazwę otaczający element, który zawiera danej pozycji.
Metoda publiczna GetOrCreateSource
Metoda publiczna GetParseResult Zwraca wynik operacji analizy.
Metoda publiczna GetPrimaryViewForSource
Metoda publiczna GetProximityExpressions Zwraca listę wyrażeń należy ocenić i przedstawione w samochody okna dla danego zakresu linii.
Metoda publiczna GetScanner Zwraca wartość pojedynczego wystąpienia z analizatora składni.
Metoda publiczna GetService Zwraca obiekt usługi, który może być oddane do określonego interfejsu.
Metoda publiczna GetSite Zwraca wskaźnik wycofana żądany interfejs.
Metoda publiczna GetSource(IVsTextLines) Zwraca istniejący Source obiekt, który zawiera określony bufor źródła.
Metoda publiczna GetSource(IVsTextView) Zwraca istniejący Source obiekt, który zawiera plik źródłowy w widoku określony tekst.
Metoda publiczna GetSource(String) Zwraca istniejący Source obiekt na podstawie nazwy pliku.
Metoda publiczna GetSources Zwraca kolekcję Source obiektów, obsługiwana przez usługę języka.
Metoda publiczna GetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publiczna Initialize Wywoływana w celu zainicjowania usługi języka.
Metoda publiczna Invoke O nazwie wywoływanie określone przez delegata danego zadania.
Metoda publiczna IsMacroRecordingOn Wywoływana w celu ustalenia, czy jest włączona funkcja rejestrowania makr.
Metoda publiczna IsMappedLocation Wywoływana w celu ustalenia, jeśli określonej lokalizacji w pliku źródłowym danej odwołuje się do kodu w innym pliku.
Metoda publiczna IsSourceOpen Określa, czy plik źródłowy jest otwarty.
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna OnActiveViewChanged Wywołana po zmianie bieżącego widoku do innego widoku.
Metoda publiczna OnCaretMoved Wywoływane, gdy daszek został przeniesiony.
Metoda chroniona OnChangesCommitted Wywoływane, gdy zmiany są generowane przez auto wypełnianie lub operacji rozbudowy urywek kodu jest zaangażowana w buforze.
Metoda publiczna OnCloseSource Wywoływana w celu zamknięcia określonego Source obiektu.
Metoda publiczna OnIdle Wywoływane, gdy żadne inne zdarzenia muszą być obsłużone.
Metoda publiczna OnModeChange Wywołana w każdym przypadku, gdy tryb debugowania zmieniła się podczas debugowania.
Metoda publiczna OnParseAborted
Metoda publiczna OnParseComplete Wywołana po zakończeniu analizy tła.
Metoda publiczna OpenDocument Otwiera określony plik.
Metoda publiczna ParseSource Analizuje źródło, w oparciu o określony ParseRequest obiektu.
Metoda publiczna QueryInvalidEncoding Określa się, jeśli format określonego źródła jest prawidłowa.
Metoda publiczna QueryService Zwraca interfejs żądania od określonej usługi.
Metoda publiczna QueryWaitForAutoOutliningCallback
Metoda publiczna RemoveCodeWindowManager Wywoływane, gdy widok skojarzony z określonym CodeWindowManager jest zamknięty.
Metoda publiczna ResolveName Zwraca listę nazwy metody, które odpowiada podanej nazwie zmodyfikowany przez określone flagi.
Metoda publiczna ScrollToEnd(IVsTextView) Aktualizuje określony widok, aby wskazać koniec pliku źródłowego.
Metoda publiczna ScrollToEnd(IVsWindowFrame) Aktualizuje widok w ramce określonego okna, aby wskazać koniec pliku źródłowego.
Metoda publiczna SetSite O nazwie lub usługodawca dla tej usługi języka witryny.
Metoda publiczna SetUserContextDirty Znaczniki kontekst użytkownika, jak dirty w buforze określonego źródła.
Metoda publiczna SynchronizeDropdowns Wywołana, aby zaktualizować pasek rozwijanej, w oparciu o bieżącą pozycją karetki.
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object).
Metoda publiczna UpdateLanguageContext Aktualizuje bieżący kontekst pomocy użytkownika w wybrany region danego źródła.
Metoda publiczna ValidateBreakpointLocation Wywoływana w celu ustalenia, jeśli w danej lokalizacji może mieć przerwania, stosowane do niego.

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna IVsFormatFilterProvider.CurFileExtensionFormat Zwraca indeks do listy rozszerzenie pliku, która odpowiada rozszerzenie nazwy pliku określonej.
Jawna implementacja interfejsuMetoda prywatna IVsFormatFilterProvider.GetFormatFilterList Zwraca listę filtrów rozszerzenie pliku nadające się do Zapisać jako okno dialogowe.
Jawna implementacja interfejsuMetoda prywatna IVsFormatFilterProvider.QueryInvalidEncoding Określa się, jeśli format określonego źródła jest prawidłowa.
Jawna implementacja interfejsuMetoda prywatna IVsLanguageContextProvider.UpdateLanguageContext Aktualizacje bieżącego użytkownika pomóc w kontekście, biorąc pod uwagę wybrany region danego źródła.

Początek

Uwagi

Visual Studiozapewnia obsługę języków kod korzysta z usług językowych.Usługa języka jest zarejestrowany z Visual Studio gdy jest zainstalowany pakiet językowy usługi.Częścią tego procesu rejestracji kojarzy rozszerzenie pliku z usługi języka, tak w każdej chwili załadowany plik z danym rozszerzeniem, usługa język również jest załadowany.

LanguageService Klasa jest klasą podstawową dla usługi języka.Visual StudioTworzy VSPackage, wykonania usług językowych i wywołania SetSite metody na VSPackage.W celu stosowania tej metody Initialize metody na Package nosi nazwę klasy podstawowej.Zastąpić Initialize metody tworzenia wystąpienia usługi języka.Pamiętaj, aby wywołać SetSite metody usługi języka po wystąpienia.

Uwagi dotyczące implementacji

Klasa dziedziczyć po tej klasy, aby utworzyć własne służby językowej.Należy również, co najmniej, zaimplementować parser, który implementuje IScanner interfejsu.Wszystkie funkcje usługi języka są oparte na ten parser.

Następujące metody i właściwości są oznaczone jako abstrakcyjne i muszą być wdrażane w tom pochodna klasy LanguageService klasy:

Metody/właściwości mają być wprowadzone w życie

Opis

GetLanguagePreferences

Metoda, która zwraca LanguagePreferences obiektu.

GetScanner

Metoda, która zwraca IScanner obiektu.

ParseSource

Metoda, która analizuje źródło.

Name

Właściwość tylko do odczytu, która zwraca nazwę języka

Jeżeli nie zamierza się obsługiwać ValidateBreakpointLocation , ale język obsługuje punkty przerwania, należy zastąpić ValidateBreakpointLocation metody i powrotu, span, zawierający określonego wiersza i kolumny; w przeciwnym razie punktów przerwania nie można ustawić dowolne miejsce z wyjątkiem linii 1.Można zwrócić E_NOTIMPL do wskazują, że w przeciwnym razie nie obsługują tej metody, ale zakres musi być zawsze ustawione.W przykładzie ValidateBreakpointLocation metoda pokazuje, jak można to zrobić.

Uwagi dotyczące wywoływania

Zarejestrować usługi języka podczas instalowania programu VSPackage (może to być poświęcona usługi język pakietu lub może być pakiet projektu, który również świadczy usługę języka).Można utworzyć wystąpienia usługi języka podczas inicjowania programu pakietu.Visual Studiowspółdziała z usługą języka, aby wyświetlić kod napisany w języku obsługiwanego przez usługę języka.Zobacz przykład poniżej dla jak można wykonać rejestrację tego języka.

Przykłady

Poniższy przykład pokazuje, jak się zarejestrować i zainicjować usługi dla pakietu języka.Uwaga: MyLanguageService jest pochodną LanguageService klasy.

using System.ComponentModel.Design;
using Microsoft.VisualStudio.Shell;

namespace MyLanguagePackage
{
    /////////////////////////////////////////////
    // Other package registration details go here
    /////////////////////////////////////////////

    // Offer a new language service
    [ProvideServiceAttribute(typeof(MyLanguageService),
                                       ServiceName = "My Language Service")]

    // Register the language service with Visual Studio.
    // "106" is the resource ID in the satellite DLL to the localized language name.
    [ProvideLanguageServiceAttribute(typeof(MyLanguageService),"My Language",106)]

    // Associate a file extension with our language service.
    [ProvideLanguageExtensionAttribute(typeof(MyLanguageService), ".myext")]

    class MyLanguagePackage : Package
    {
        protected override void Initialize()
        {
            base.Initialize();

            IServiceContainer serviceContainer = this as IServiceContainer;
            MyLanguageService languageService = new MyLanguageService();
            languageService.SetSite(this);
            serviceContainer.AddService(typeof(MyLanguageService),
                                        languageService,
                                        true);
        }
    }
}

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Package

Inne zasoby

Omówienie usługi języka (w ramach pakietu zarządzanych)