Klasa CompoundAction
Zarządza grupa operacje edycji, które są traktowane jako pojedynczej operacji.
Ten interfejs API nie jest zgodny ze specyfikacją CLS. Alternatywa zgodna ze specyfikacją CLS to [None].
Hierarchia dziedziczenia
System.Object
Microsoft.VisualStudio.Package.CompoundActionBase
Microsoft.VisualStudio.Package.CompoundAction
Przestrzeń nazw: Microsoft.VisualStudio.Package
Zestawy: 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)
Microsoft.VisualStudio.Package.LanguageService.11.0 (w Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService (w Microsoft.VisualStudio.Package.LanguageService.dll)
Składnia
'Deklaracja
<CLSCompliantAttribute(False)> _
Public Class CompoundAction _
Inherits CompoundActionBase
[CLSCompliantAttribute(false)]
public class CompoundAction : CompoundActionBase
Typ CompoundAction uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
CompoundAction | Inicjuje nowe wystąpienie CompoundAction klasy. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Abort | Kończy bieżącą akcję mieszanek Wyrzuca wszystkie edycje. (Zastępuje CompoundActionBase.Abort()). | |
Close | Zamyka mieszanek działania i zatwierdza wszystkie zmiany w pliku źródłowym. (Zastępuje CompoundActionBase.Close()). | |
Dispose() | Zwalnia wszystkie zasoby tuż przed CompoundAction niszczony jest obiekt. | |
Dispose() | Zwalnia wszystkie zasoby tuż przed CompoundAction niszczony jest obiekt. (Odziedziczone z CompoundActionBase). | |
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). | |
FlushEditActions | Opróżnia wszystkie oczekujące edytowanie akcji z bieżącej akcji mieszanek. (Zastępuje CompoundActionBase.FlushEditActions()). | |
GetHashCode | Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object). | |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). | |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). | |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). |
Początek
Pola
Nazwa | Opis | |
---|---|---|
action | Interfejs dla akcji CompoundAction. (Odziedziczone z CompoundActionBase). | |
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 do pojedynczego zdarzenia można cofnąć.Jest to osiągane przez wywołanie OpenCompoundAction metody na IVsCompoundAction interfejsu jest uzyskiwana z bieżącej IVsTextLines obiektu przechowywanego w Source 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ę Source obiektu i zamknąć tej akcji podczas tej klasy jest usuwany.
Uwagi dotyczące wywoływania
Utwórz wystąpienie CompoundAction obiekt z Source 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 CompoundAction obiektu jest usuwany, operacje edycji są przechowywane jako pojedyncza czynność.
Jeśli masz dostęp do IVsTextView obiektów, użyj CompoundViewAction klasy zamiast pozwala na widok tekstu do optymalizowania zmiany jedynie wynik końcowy jest postrzegana przez użytkownika.
Przykłady
W tym przykładzie przedstawiono sposób użycia CompoundAction klasy.W tym przykładzie wstawia listy wyrazów w bieżącej lokalizacji w pliku źródłowym.Bez CompoundAction obiektów, każdy z tych wstawienia jest traktowana jako zdarzenie edit oddzielnych i wymaga operacji Cofnij oddzielne.Jednakże, z CompoundAction obiektów, całą listę można cofnąć operacji Cofnij pojedynczy.
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)
{
CompoundAction action = new CompoundAction(src,"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.