Udostępnij za pośrednictwem


Klasa CompoundViewAction

Zarządza wielu edytowanie akcji, które są traktowane jako pojedyncza operacja, zoptymalizowany pod kątem wyświetlanie tekstu.

Ten interfejs API nie jest zgodny ze specyfikacją CLS. Alternatywa zgodna ze specyfikacją CLS to [None].

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.Package.CompoundViewAction

Przestrzeń nazw:  Microsoft.VisualStudio.Package
Zestawy:   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.9.0 (w Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (w Microsoft.VisualStudio.Package.LanguageService.10.0.dll)

Składnia

'Deklaracja
<CLSCompliantAttribute(False)> _
Public Class CompoundViewAction _
    Implements IDisposable
[CLSCompliantAttribute(false)]
public class CompoundViewAction : IDisposable

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

Konstruktorzy

  Nazwa Opis
Metoda publiczna CompoundViewAction Inicjuje nowe wystąpienie CompoundViewAction klasy.

Początek

Metody

  Nazwa Opis
Metoda publiczna Abort() Kończy bieżącą akcję mieszanek Wyrzuca wszystkie edycje. (Odziedziczone z CompoundActionBase).
Metoda publiczna Abort()
Metoda publiczna Close() Zamknij mieszanek działania i zatwierdzenia, wszystkie modyfikacje w pliku źródłowym. (Odziedziczone z CompoundActionBase).
Metoda publiczna Close()
Metoda publiczna Dispose() Zwalnia wszystkie zasoby tuż przed CompoundAction niszczony jest obiekt. (Odziedziczone z CompoundActionBase).
Metoda publiczna Dispose()
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 FlushEditActions() Opróżnia wszystkie oczekujące edytowanie akcji z bieżącej akcji mieszanek. (Odziedziczone z CompoundActionBase).
Metoda publiczna FlushEditActions()
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 chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object).

Początek

Pola

  Nazwa Opis
Pole chronione action Interfejs dla akcji CompoundAction. (Odziedziczone z CompoundActionBase).
Pole chronione opened Określa, jeżeli został otwarty mieszanek działania. (Odziedziczone z CompoundActionBase).

Początek

Uwagi

To klasa jest używana do uproszczenia zawijania to kolekcja operacji edycji w pojedynczej operacji.Jest to osiągane przez wywołanie OpenCompoundAction metody na IVsCompoundAction to jest interfejs uzyskane z określonego IVsTextView obiektu.Podczas tej klasy jest usuwany, IVsCompoundAction interfejsu jest zamknięty i która zobowiązuje wszystkie zdarzenia edycji do IVsTextLines obiektu jako pojedynczej operacji.

Uwagi dotyczące implementacji

Ta klasa zawiera wszystko, co niezbędne otworzyć działanie mieszanek, biorąc pod uwagę IVsTextView obiektu i zamknąć tej akcji, gdy tej klasy jest usuwany.

Uwagi dotyczące wywoływania

Utwórz wystąpienie CompoundViewAction obiekt z IVsTextView obiektu, gdy konieczne jest zawijany, jeden lub więcej edytować operacje, które mogą zostać cofnięte w jednej operacji.Następnie wykonać swoje operacje edycyjne w normalnym trybie.Gdy nowy CompoundViewAction obiektu jest usuwany, operacje edycji są przechowywane jako pojedynczej operacji.

Użyj tej klasy w CompoundAction klasy tej klasy pozwala na wyświetlanie tekstu do optymalizowania edycje.

[!UWAGA]

Ponieważ CompoundViewAction klasy współpracuje bezpośrednio z widoku, colorizer, niezbędne jest zawieszenie przez klasę.

Przykłady

W tym przykładzie przedstawiono sposób użycia CompoundViewAction klasy.W tym przykładzie wstawia listy wyrazów w bieżącej lokalizacji w pliku źródłowym.Bez CompoundViewAction obiektów, każdy z tych wstawienia jest traktowana jako zdarzenie edit oddzielnych i wymaga operacji Cofnij oddzielne.Jednakże, z CompoundViewAction obiektów, całą listę można cofnąć z jednego polecenia Cofnij.

using Microsoft.VisualStudio.Package

namespace MyLanguagePackage
{
    class CMyLanguageService : LanguageService
    {
        // Insert the list of words, one per line.
        void InsertWords(Source src,string[] wordList)
        {
            if (LastActiveTextView != null)
            {
                CompoundViewAction action = new CompoundViewAction(LastActiveTextView,
                                                                   "Update source");
                using (action)
                {
                    int currentLine = 0;
                    int currentCol = 0;
                    LastActiveTextView.GetCaretPos(out currentLine, out currentCol);
                    // Insert list in reverse so the words appear in the proper
                    // order in the sourec file.
                    for (int i = wordList.Length - 1, i >= 0; i--)
                    {
                        string w = wordList[i] + "\n";
                        src.SetText(currentLine, currentCol, currentLine, currentCol, w);
                    }
                }
            }
        }
    }
}

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