Freigeben über


CodeAction Klasse

Definition

Eine Aktion, die von einem CodeFixProvider oder einem CodeRefactoringProvidererzeugt wird.

public ref class CodeAction abstract
public abstract class CodeAction
type CodeAction = class
Public MustInherit Class CodeAction
Vererbung
CodeAction
Abgeleitet

Konstruktoren

CodeAction()

Eine Aktion, die von einem CodeFixProvider oder einem CodeRefactoringProvidererzeugt wird.

Eigenschaften

EquivalenceKey

Zwei Codeaktionen werden als gleichwertig behandelt, wenn sie über gleiche Werte ungleich NULL EquivalenceKey verfügen und von demselben CodeFixProvider oder CodeRefactoringProvidergeneriert wurden.

IsInlinable

Wenn diese Codeaktion enthält NestedActions, stellt diese Eigenschaft einen Hinweis für Hosts bereit, ob es in Ordnung ist, diese Codeaktion auszublenden und stattdessen nur die geschachtelten Aktionen anzuzeigen. Wenn ein Host bereits viele Aktionen der obersten Ebene anzuzeigen hat, sollte er erwägen, diese Aktion nicht zu inlineieren, um die Anzahl der optionen, die dem Benutzer angezeigt werden, niedrig zu halten. Wenn dem Benutzer jedoch einige Optionen angezeigt werden können, kann das Inlinieren dieser Aktion von Vorteil sein, da es dem Benutzer ermöglicht, eine der geschachtelten Optionen mit weniger Schritten anzuzeigen und auszuwählen. Um eine CodeAction mit geschachtelten Aktionen zu erstellen, verwenden Sie Create(String, ImmutableArray<CodeAction>, Boolean).

NestedActions

Untergeordnete Aktionen, die in diesem CodeActionenthalten sind. Kann in einem Host angezeigt werden, um mehr potenzielle Lösungsaktionen für ein bestimmtes Problem bereitzustellen. Um eine CodeAction mit geschachtelten Aktionen zu erstellen, verwenden Sie Create(String, ImmutableArray<CodeAction>, Boolean).

Priority

Priorität dieser besonderen Aktion innerhalb einer Gruppe anderer Aktionen. Weniger relevante Aktionen sollten dies überschreiben und eine niedrigere Priorität angeben, damit wichtigere Aktionen für den Benutzer leicht zugänglich sind. Gibt zurück Default , wenn nicht überschrieben.

Tags

Beschreibende Tags aus WellKnownTags. Diese Tags können beeinflussen, wie das Element angezeigt wird.

Title

Ein kurzer Titel, der die Aktion beschreibt, die möglicherweise in einem Menü angezeigt wird.

Methoden

ComputeOperationsAsync(CancellationToken)

Überschreiben Sie diese Methode, wenn Sie eine CodeAction Unterklasse implementieren möchten, die benutzerdefinierte CodeActionOperation"s" enthält.

ComputeOperationsAsync(IProgress<CodeAnalysisProgress>, CancellationToken)

Überschreiben Sie diese Methode, wenn Sie eine CodeAction Unterklasse implementieren möchten, die benutzerdefinierte CodeActionOperation"s" enthält. Überschreiben Sie diese Methode lieber ComputeOperationsAsync(CancellationToken) , wenn die Berechnung lange ausgeführt wird und der Fortschritt dem Benutzer angezeigt werden sollte.

ComputePreviewOperationsAsync(CancellationToken)

Überschreiben Sie diese Methode, wenn Sie eine CodeAction implementieren möchten, die über eine Gruppe von Vorschauvorgängen verfügt, die sich von den von ComputeOperationsAsync(IProgress<CodeAnalysisProgress>, CancellationToken)erzeugten Vorgängen unterscheiden.

ComputePriority()

Berechnet die CodeActionPriority Gruppe, in der diese Codeaktion angezeigt werden soll. Rechtliche Werte, die zwischen und Highsein können, müssen seinLowest.

Create(String, Func<CancellationToken,Task<Document>>, String, CodeActionPriority)

Erstellt einen CodeAction für eine Änderung an einem einzelnen Document. Verwenden Sie diese Factory, wenn die Änderung teuer zu berechnen ist und bis zur Anforderung zurückgestellt werden sollte.

Create(String, Func<CancellationToken,Task<Document>>, String)

Erstellt einen CodeAction für eine Änderung an einem einzelnen Document. Verwenden Sie diese Factory, wenn die Änderung teuer zu berechnen ist und bis zur Anforderung zurückgestellt werden sollte.

Create(String, Func<CancellationToken,Task<Solution>>, String, CodeActionPriority)

Erstellt einen CodeAction für eine Änderung in mehr als eins Document innerhalb eines Solution. Verwenden Sie diese Factory, wenn die Änderung teuer zu berechnen ist und bis zur Anforderung zurückgestellt werden sollte.

Create(String, Func<CancellationToken,Task<Solution>>, String)

Erstellt einen CodeAction für eine Änderung in mehr als eins Document innerhalb eines Solution. Verwenden Sie diese Factory, wenn die Änderung teuer zu berechnen ist und bis zur Anforderung zurückgestellt werden sollte.

Create(String, Func<IProgress<CodeAnalysisProgress>,CancellationToken,Task<Document>>, String, CodeActionPriority)

Eine Aktion, die von einem CodeFixProvider oder einem CodeRefactoringProvidererzeugt wird.

Create(String, Func<IProgress<CodeAnalysisProgress>,CancellationToken,Task<Solution>>, String, CodeActionPriority)

Erstellt einen CodeAction für eine Änderung in mehr als eins Document innerhalb eines Solution. Verwenden Sie diese Factory, wenn die Änderung teuer zu berechnen ist und bis zur Anforderung zurückgestellt werden sollte.

Create(String, ImmutableArray<CodeAction>, Boolean, CodeActionPriority)

Erstellt eine CodeAction , die eine Gruppe von Codeaktionen darstellt.

Create(String, ImmutableArray<CodeAction>, Boolean)

Erstellt eine CodeAction , die eine Gruppe von Codeaktionen darstellt.

GetChangedDocumentAsync(CancellationToken)

Berechnet Änderungen für ein einzelnes Dokument. Überschreiben Sie diese Methode, wenn Sie eine CodeAction Unterklasse implementieren möchten, die ein einzelnes Dokument ändert. Überschreiben Sie GetChangedDocumentAsync(IProgress<CodeAnalysisProgress>, CancellationToken) , um den Fortschritt beim Berechnen der Vorgänge zu melden.

GetChangedDocumentAsync(IProgress<CodeAnalysisProgress>, CancellationToken)

Berechnet Änderungen für ein einzelnes Dokument. Überschreiben Sie diese Methode, wenn Sie eine CodeAction Unterklasse implementieren möchten, die ein einzelnes Dokument ändert. Überschreiben Sie diese Methode lieber GetChangedDocumentAsync(CancellationToken) , wenn die Berechnung lange ausgeführt wird und der Fortschritt dem Benutzer angezeigt werden sollte.

GetChangedSolutionAsync(CancellationToken)

Berechnet alle Änderungen für eine gesamte Lösung. Überschreiben Sie diese Methode, wenn Sie eine CodeAction Unterklasse implementieren möchten, die mehrere Dokumente ändert. Überschreiben Sie GetChangedSolutionAsync(IProgress<CodeAnalysisProgress>, CancellationToken) , um den Fortschritt beim Berechnen der Vorgänge zu melden.

GetChangedSolutionAsync(IProgress<CodeAnalysisProgress>, CancellationToken)

Berechnet alle Änderungen für eine gesamte Lösung. Überschreiben Sie diese Methode, wenn Sie eine CodeAction Unterklasse implementieren möchten, die mehrere Dokumente ändert. Überschreiben Sie diese Methode lieber GetChangedSolutionAsync(CancellationToken) , wenn die Berechnung lange ausgeführt wird und der Fortschritt dem Benutzer angezeigt werden sollte.

GetOperationsAsync(CancellationToken)

Die Reihenfolge der Vorgänge, die die Codeaktion definieren.

GetOperationsAsync(Solution, IProgress<CodeAnalysisProgress>, CancellationToken)

Die Reihenfolge der Vorgänge, die die Codeaktion definieren.

GetPreviewOperationsAsync(CancellationToken)

Die Sequenz von Vorgängen, die zum Erstellen einer Vorschau verwendet werden.

PostProcessAsync(IEnumerable<CodeActionOperation>, CancellationToken)

Wenden Sie Nachverarbeitungsschritte auf beliebige ApplyChangesOperationSchritte an.

PostProcessChangesAsync(Document, CancellationToken)

Anwenden von Nachverarbeitungsschritten auf ein einzelnes Dokument: Reduzieren von Knoten, die mit Anmerkungen versehen sind Annotation : Formatierungsknoten mit Anmerkungen Annotation

PostProcessChangesAsync(Solution, CancellationToken)

Wenden Sie Nachverarbeitungsschritte auf Lösungsänderungen wie Formatierung und Vereinfachung an.

Gilt für: