Udostępnij przez


Dane dokumentów i widok 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 VsTextBuffer lub własnego buforu 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 wyświetlające kod i inny tekst jest nazywane widokiem dokumentu lub po prostu widokiem. 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. Na przykład, jeśli potrzebujesz edycji równoległej, wybierzesz widok wielokrotny. Każdy widok jest skojarzony z wpisem w zintegrowanym środowisku projektowym (IDE) w tablicy uruchomionych 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.

IDE powiadamia widoki o zdarzeniach (na przykład, gdy zostaje zamknięte rozwiązanie zawierające dokument) dopasowując identyfikator elementu (ItemID) dla każdego wpisu w tablicy uruchomionych dokumentów. Aby uzyskać więcej informacji na ten temat, zobacz tabelę dokumentów uruchamiania.

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.