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 | |
---|---|---|
AuthoringSink | Inicjuje AuthoringSink klasy. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
BraceMatching | Wskazuje, jeśli dopasowywanie nawiasów należy wykonać dla operacji analizy. | |
Column | Pobiera kolumny analizy rozpoczął się. | |
FindNames | Wskazuje, czy identyfikatory są za. | |
FoundMatchingBrace | Utwory, jeśli pasujące pary nawiasów klamrowych został dodany do listy wewnętrznej. | |
HiddenRegions | Wskazuje, czy ukryte regiony powinny być przetwarzane podczas operacji analizy. | |
Line | Zwraca wiersz analizy Operacja rozpoczęła się. | |
MethodParameters | Wskazuje, czy należy przetworzyć parametrów metody podczas operacji analizy. | |
ProcessHiddenRegions | Wskazuje, czy aktualizować regionów ukryte. | |
Reason | Zwraca wartość z powodu operacji analizy została uruchomiona. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
AddError | Dodaje błąd podczas analizowania wiadomości za zgłoszenie później. | |
AddHiddenRegion(NewHiddenRegion) | Dodaje określony NewHiddenRegion obiekt do listy wewnętrznej regionów ukryte. | |
AddHiddenRegion(TextSpan) | Dodaje nowy region ukryte do wewnętrznej listy oparte na danym TextSpan obiektu. | |
AddHiddenRegion(TextSpan, String) | ||
AutoExpression | Dodaje zakres wyrażenie do wewnętrznej listy. | |
CodeSpan | Spowoduje to dodanie rozpiętość kod wykonywalny do wewnętrznej listy. | |
EndParameters | Wywołana, aby wskazać koniec listy parametrów metody. | |
Equals | Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object). | |
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). | |
GetHashCode | Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object). | |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). | |
MatchMultiple | ||
MatchPair | Wywoływana w wewnętrznej listy dodać zakresy dwóch par elementów. | |
MatchTriple | Wywołana, aby dodać pasujący zestaw trzech elementów do wewnętrznej listy. | |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). | |
NextParameter | Wywoływane, gdy podczas analizowania listy parametr metody i znak separatora parametr tylko został przeanalizowany. | |
QualifyName | Wywoływana Zanotuj lokalizację odwołania do elementu członkowskiego. | |
StartName | Wywoływane, gdy identyfikator jest analizowany. | |
StartParameters | O nazwie na początku listy parametrów metody. | |
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:
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.
Dokończ wyraz: Ta opcja przedstawia listę możliwe uzupełnienia dla programu word, wprowadzanego przez użytkownika.
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.
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.