Udostępnij za pośrednictwem


Klasa AuthoringSink

Ta klasa jest używany przez parser do zebrania informacji o źródle, analizowany.

Ten interfejs API nie jest zgodny ze specyfikacją CLS. 

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.Package.AuthoringSink

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

Składnia

'Deklaracja
<CLSCompliantAttribute(False)> _
Public Class AuthoringSink
[CLSCompliantAttribute(false)]
public class AuthoringSink

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

Konstruktorzy

  Nazwa Opis
Metoda publiczna AuthoringSink Inicjuje AuthoringSink klasy.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna BraceMatching Wskazuje, jeśli dopasowywanie nawiasów należy wykonać dla operacji analizy.
Właściwość publiczna Column Pobiera kolumny analizy rozpoczął się.
Właściwość publiczna FindNames Wskazuje, czy identyfikatory są za.
Właściwość publiczna FoundMatchingBrace Utwory, jeśli pasujące pary nawiasów klamrowych został dodany do listy wewnętrznej.
Właściwość publiczna HiddenRegions Wskazuje, czy ukryte regiony powinny być przetwarzane podczas operacji analizy.
Właściwość publiczna Line Zwraca wiersz analizy Operacja rozpoczęła się.
Właściwość publiczna MethodParameters Wskazuje, czy należy przetworzyć parametrów metody podczas operacji analizy.
Właściwość publiczna ProcessHiddenRegions Wskazuje, czy aktualizować regionów ukryte.
Właściwość publiczna Reason Zwraca wartość z powodu operacji analizy została uruchomiona.

Początek

Metody

  Nazwa Opis
Metoda publiczna AddError Dodaje błąd podczas analizowania wiadomości za zgłoszenie później.
Metoda publiczna AddHiddenRegion(NewHiddenRegion) Dodaje określony NewHiddenRegion obiekt do listy wewnętrznej regionów ukryte.
Metoda publiczna AddHiddenRegion(TextSpan) Dodaje nowy region ukryte do wewnętrznej listy oparte na danym TextSpan obiektu.
Metoda publiczna AddHiddenRegion(TextSpan, String)
Metoda publiczna AutoExpression Dodaje zakres wyrażenie do wewnętrznej listy.
Metoda publiczna CodeSpan Spowoduje to dodanie rozpiętość kod wykonywalny do wewnętrznej listy.
Metoda publiczna EndParameters Wywołana, aby wskazać koniec listy parametrów metody.
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 GetHashCode Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object).
Metoda publiczna GetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publiczna MatchMultiple
Metoda publiczna MatchPair Wywoływana w wewnętrznej listy dodać zakresy dwóch par elementów.
Metoda publiczna MatchTriple Wywołana, aby dodać pasujący zestaw trzech elementów do wewnętrznej listy.
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna NextParameter Wywoływane, gdy podczas analizowania listy parametr metody i znak separatora parametr tylko został przeanalizowany.
Metoda publiczna QualifyName Wywoływana Zanotuj lokalizację odwołania do elementu członkowskiego.
Metoda publiczna StartName Wywoływane, gdy identyfikator jest analizowany.
Metoda publiczna StartParameters O nazwie na początku listy parametrów metody.
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object).

Początek

Uwagi

Wystąpienia tej klasy jest szeroko stosowane przez parser pamiętać o różnych elementów języka, które pomagają w następujące funkcje:

  • Raportowanie błędów.

  • Dopasowywanie nawiasów.

  • Wybór elementu członkowskiego IntelliSense, całe słowo, szybkie informacje i porady dotyczące metody.

  • Ukryte regionów.

  • Zarządzanie zawartość samochody okna w debugerze.

  • Sprawdzanie poprawności przerwania.

Klasa podstawowa ma wsparcie dla wszystkich, ale ostatnie dwie funkcje.

Błędy

Klasa podstawowa używa wewnętrznego ArrayList o nazwie errors do zawierają błędy wykryte podczas analizowania.Ta lista jest wyświetlana na końcu pełnego funkcjonowania analizowania konwertując każdego komunikatu o błędzie do elementu listy zadań, wywołując CreateErrorTaskItem i dodanie go Listy błędów okno zadania.Błędy te są także wyświetlane w pliku źródłowym jako linią falistą, w obszarze kod, który jest w błąd.Jest to obsługiwane automatycznie przez klasy MPF.AuthoringSink Konstruktora klasy przyjmuje parametr, który określa maksymalną liczbę błędów, które mogą zostać zatrzymane przez klasę.

Nawias klamrowy dopasowania

Klasa podstawowa używa wewnętrznego ArrayList o nazwie Braces zawierają pasujące pary elementy języka (takich jak "{" i "}") jak również dopasowania triples (takie jak "for()","{", i "}").Klasy podstawowej o nazwie BraceMatch jest używana dla par, podczas gdy pochodna klasy o nazwie TripleMatch dodaje informacje o trzeci element języka.Wywołanie MatchPair i MatchTriple metod jest wykonywane tylko wtedy, gdy jest powodem analizowania odpowiadają nawiasy klamrowe (zobacz BraceMatching właściwość szczegółowe informacje na temat dokładnej przyczyny).Zobacz sekcję przykład MatchPairopis BraceMatch klasy i można znaleźć w sekcji przykład MatchTripleopis TripleMatch klasy.

Technologia IntelliSense

Technologia IntelliSense ma co najmniej czterech różnych trybach, obsługiwane przez usługę języka.Są to:

  1. Wybór elementu członkowskiego: Ta opcja zawiera listę członków dla bieżącego zakresu, zwykle dostarczane po użytkownik wpisze określonego znaku.Na przykład, jeśli użytkownik wprowadził następuje nazwa zmiennej ".", a następnie wyświetlana jest lista Członkowskie dla typu danej zmiennej dla zaznaczenia.

  2. Dokończ wyraz: Ta opcja przedstawia listę możliwe uzupełnienia dla programu word, wprowadzanego przez użytkownika.

  3. Krótkie informacje: Ta opcja przedstawia informacje o identyfikator.To jest wyzwalany przez użytkownika gospodarstwa kursor myszy nad identyfikator lub pozycjonowania daszka Edycja na identyfikator i wybierając Quick Info z IntelliSense menu.

  4. Porada metoda: Ta opcja przedstawia informacje o parametrach pomagają użytkownikowi podczas wprowadzania metodę i jego parametry.Etykietka narzędzia jest wyświetlany jeden z kilku możliwe formy przeciążonej metody wraz z parametrami wykazujące.Jako użytkownik wprowadzi każdego parametru, etykietka narzędzia jest aktualizowana w celu wyświetlenia parametru jest wpisany.

Wszystkie te tryby są obsługiwane przez metody StartName i QualifyName i wewnętrznej listy MethodCalls, Names, i SourceLocations.MethodCallsjest używany do śledzenia podpisy metod, jak są one analizować.Namesi SourceLocations są używane do śledzenia parametrów metody podczas analizowania listy parametr metody.Należy zauważyć, że dla każdej nazwy w Names listy, nie ma odpowiadającego TextSpan obiekt w SourceLocations listy.

Ukryte regionów

Regiony ukryte są sekcje kodu, który opcjonalnie może być ukryte przy wyświetlaniu przez użytkownika.Te regiony są zwykle używane jako część obsługi tworzenia konspektów gdzie każdej metody i klasy można zwijane w jednym wierszu, co jaśniejsze ogólnej struktury klasy.Niektóre języki obsługują określonych regionów ukryte za pomocą specjalnych słów kluczowych.Na przykład, C# używa #region/#endregion do regionu, którą zwykle użytkownik chce ukryte nawiasu.Ukryte regionu jest wskazany przez TextSpan obiekt, który jest pakowane w NewHiddenRegion o nazwie obiektu, który z kolei jest przechowywane w tablicy wewnętrznej hiddenRegions.Regiony ukryte są dodawane przez wywołanie AddHiddenRegion.

Samochody

Podczas debugowania, samochody okna można pokazać wszystkie zmienne lokalne i dostępne parametry określonego zakresu ramek stosu.Usługa języka można obsługiwać te zmienne lokalizowanie je podczas analizowania.Dzięki temu samochody okno, aby dynamicznie aktualizowany podczas edycji podczas debugowania.Klasa podstawowa AuthoringSink nie obsługuje autos, więc musi pochodzić od klasy AuthoringSink klasy i wprowadzenia w życie AutoExpression metoda samodzielnie.

Punkt przerwania sprawdzania poprawności.

Po umieszczeniu punktu przerwania, lokalizację punkt przerwania nie jest sprawdzana, dopóki debugowanie faktycznie rozpoczyna się i został załadowany silnika debugowania.Jeśli język usługi obsługuje identyfikacji ważne sekcje kodu, gdzie można umieścić punktu przerwania, informacje te można używany do sprawdzania poprawności położenie punktów przerwania, bez ładowania silnika debugowania.Zauważ, że silnik debugowania jest zawsze końcowego sędzia podczas sprawdzania poprawności lokalizacji przerwania, ale usługa języka można przekazywać opinie fast do użytkownika.Klasa podstawowa AuthoringSink nie obsługuje sprawdzania poprawności przerwania, więc musi pochodzić od klasy AuthoringSink klasy i wprowadzenia w życie CodeSpan metoda samodzielnie.

Uwagi dotyczące implementacji

Jeśli język usługi obsługuje wyrażeń w samochody okna lub Sprawdzanie poprawności punkty przerwania w zakres kodu muszą pochodzić z klasy z AuthoringSink klasy i zastąpić odpowiednie metody (AutoExpression i CodeSpan).Następnie zastąp CreateAuthoringSink metodę w Source klasy do używanej wersji programu AuthoringSink klasy.AuthoringSink Wystąpienie klasy zostało utworzone przy każdym operacji analizy jest wywoływana.

Uwagi dotyczące wywoływania

Klasa ta jest dostępna w kilku miejscach w Source klasy do obsługi, dopasowywanie nawiasów, IntelliSense i raportowania błędów.

Porada: podczas wykonywania swojej klasy pochodzące z AuthoringScope, dodać pola do klasy, do przechowywania AuthoringSink obiekt utworzony dla ParseRequest obiektu.W ten sposób na AuthoringScope obiektu można uzyskać dostęp do informacji przechowywanych w AuthoringSink obiektu.

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