Freigeben über


Gewusst wie: Gewähren Sie erweiterte Gliederungs-Unterstützung

Es gibt zwei Möglichkeiten zum Erweitern der Gliedern Unterstützung für die Sprache über das Sichern des Befehls Nur Definitionen anzeigen . Sie können aus einem Editor hinzufügen und Bereiche Gliederung gesteuert CLIENT-gesteuerte Kontur Bereiche hinzufügen.

Aus einem Editor gesteuert Konturen-Regionen hinzu

Verwenden Sie diesen Ansatz, um einen Bereich Kontur erstellen und dann im Editor zu ermöglichen, zu behandeln, ob der Bereich erweitert wird, wird usw. Von beiden Optionen zum Gewähren der Unterstützung für Gliedern, ist das am wenigsten robuste diese Option. Bei dieser Option erstellen Sie einen neuen Bereich zu einem Textabschnitt angegebenen Umriss mithilfe des AddOutlineRegions. Nachdem dieser Bereich erstellt wurde, wird dessen Verhalten vom Editor gesteuert. Führen Sie die folgenden Schritte aus, um aus einem Editor gesteuert Kontur Bereiche zu implementieren.

Um einen von einem Editor im Bereich implementieren gesteuert Kontur

  1. Aufruf QueryService für SVsTextManager

    Dies gibt einen Zeiger auf IVsHiddenTextManagerzurück.

  2. Aufrufs GetHiddenTextSessionsind, in einen Zeiger für einen angegebenen Textpuffer. Dies gibt einen Zeiger auf den IVsHiddenTextSession-Objekt für den Puffer zurück.

  3. Aufruf QueryInterface auf IVsHiddenTextSession für einen Zeiger auf IVsOutliningSession.

  4. Rufen Sie AddOutlineRegions auf, um eine oder mehrere neue Bereiche Kontur gleichzeitig hinzuzufügen.

    Diese Methode ermöglicht es Ihnen, den Textabschnitt zu gliedern, um anzugeben, ob vorhandene Bereiche Kontur entfernt oder beibehalten werden und ob der Bereich Kontur standardmäßig erweitert oder reduziert wird.

CLIENT-gesteuerte hinzufügen Konturen-Regionen

Verwenden Sie diesen Ansatz, um CLIENT-gesteuerte (bzw. intelligente) zu implementieren, z. B. das Lay-out von Visual C# und Visual Basic Sprachendiensten verwendet wird. Ein Sprachdienst, der seine eigene Gliederung verwaltet, überwacht die Textpuffer, um alte Kontur Inhalt der Bereiche zu zerstören, wenn sie ungültig werden, und neue Bereiche Kontur nach Bedarf zu erstellen.

Um einen Bereich implementieren CLIENT-gesteuerten Kontur

  1. Aufruf QueryService für SVsTextManager. Dies gibt einen Zeiger auf IVsHiddenTextManagerzurück.

  2. Aufrufs GetHiddenTextSessionsind, in einen Zeiger für einen angegebenen Textpuffer. Dadurch wird bestimmt, ob eine Sitzung des ausgeblendeten Textes bereits für den Puffer vorhanden ist.

  3. Wenn eine Text eine bereits vorhanden ist, dann ist es nicht erforderlich, um eine zu erstellen, und es wird ein Zeiger auf den vorhandenen IVsHiddenTextSession-Objekt wird zurückgegeben. Verwenden Sie den Mauszeiger, um die Kontur Bereiche aufzulisten und zu erstellen. Andernfalls Aufrufs CreateHiddenTextSession , um eine Sitzung des ausgeblendeten Textes für den Puffer zu erstellen. Ein Zeiger auf den IVsHiddenTextSession-Objekt wird zurückgegeben.

    Hinweis

    Wenn Sie CreateHiddenTextSessionaufrufen, können Sie einen Client des ausgeblendeten Textes (d. h. ein IVsHiddenTextClient-Objekt) angeben.Dieser Client benachrichtigt Sie, wenn ein Bereich des ausgeblendeten Textes bzw. der Kontur des Benutzers erweitert oder reduziert wird.

  4. Rufen Sie AddHiddenRegions Struktur) - Parameter an: Geben Sie einen Wert hrtCollapsible im iType-Member der NewHiddenRegion Struktur an, dass Sie einen Bereich Kontur erstellen, anstatt ein ausgeblendeter Bereich angeben. Geben Sie an, ob der Bereich CLIENT-gesteuert oder im dwBehavior-Member der NewHiddenRegion Struktur aus einem Editor gesteuert wird. Die intelligente Implementierung Gliedern kann eine Kombination aus CLIENT-gesteuerten der Kontur und des Herausgebers Bereichen enthalten. Geben Sie den Bannertext an, der angezeigt wird, wenn der Kontur, z. B. im Bereich „…“ im pszBanner-Member der NewHiddenRegion Struktur reduziert wird. Der standardmäßige Bannertext des Editors für einen verborgenen Bereich ist „…“.