Udostępnij za pośrednictwem


Dokumentowanie danych i widoku dokumentów w edytorach niestandardowych

Edytor niestandardowy składa się z dwóch części: obiektu danych dokumentu i obiektu widoku dokumentu. Jak sugerują nazwy, obiekt danych dokumentu reprezentuje dane tekstowe, które mają być wyświetlane. Podobnie obiekt widoku dokumentu (lub "widok") reprezentuje co najmniej jedno okno, w którym ma być wyświetlany obiekt danych dokumentu.

Obiekt danych dokumentu

Obiekt danych dokumentu to reprezentacja tekstu w buforze tekstowym. Jest to obiekt COM, który przechowuje tekst dokumentu i inne informacje. Obiekt danych dokumentu obsługuje również trwałość dokumentu i umożliwia wiele widoków danych. Aby uzyskać więcej informacji, zobacz

DocumentData[] i Okna dokumentów.

Niestandardowe edytory i projektanci mogą zdecydować się na użycie obiektu lub własnego buforu VsTextBuffer niestandardowego. VsTextBuffer jest zgodny z uproszczonym modelem osadzania dla edytora standardowego, obsługuje wiele widoków i udostępnia interfejsy zdarzeń używane do zarządzania wieloma widokami.

Obiekt widoku dokumentu

Okno z wyświetlonym kodem i innym tekstem jest nazywane widokiem lub widokiem dokumentu. Podczas tworzenia edytora można wybrać jeden widok, w którym tekst jest wyświetlany w jednym oknie. Możesz też wybrać wiele widoków, w którym tekst jest wyświetlany w więcej niż jednym oknie. Wybór zależy od aplikacji. Jeśli na przykład potrzebujesz edycji równoległej, wybierzesz wiele widoków. Każdy widok jest skojarzony z wpisem w zintegrowanym środowisku projektowym (IDE) z uruchomioną tabelą dokumentów (RDT). Okna widoku należą do projektu lub IVsHierarchy obiektu.

Jeśli edytor obsługuje wiele widoków obiektu danych dokumentu, dane dokumentu i obiekty widoku dokumentu muszą być oddzielne. W przeciwnym razie można je zgrupować razem. Aby uzyskać więcej informacji, zobacz Obsługa wielu widoków dokumentów.

Środowisko IDE powiadamia widoki o zdarzeniach (na przykład gdy rozwiązanie zawierające dokument jest zamknięte) przez dopasowanie identyfikatora elementu (ItemID) dla każdego wpisu w uruchomionej tabeli dokumentów. Aby uzyskać więcej informacji na ten temat, zobacz Running document table (Uruchamianie tabeli dokumentów).

Istnieją dwie opcje tworzenia widoku dla edytora niestandardowego. Jednym z nich jest model aktywacji w miejscu, w którym widok jest hostowany w oknie przy użyciu kontrolki ActiveX lub obiektu danych dokumentu. Drugi to uproszczony model osadzania, w którym widok jest hostowany przez program Visual Studio i IVsWindowPane jest implementowany do obsługi poleceń okna. Aby uzyskać informacje o modelu aktywacji w miejscu, zobacz Aktywacja w miejscu. Aby uzyskać informacje na temat uproszczonego modelu osadzania, zobacz Uproszczone osadzanie.