閱讀英文版本

分享方式:


CodeAction 類別

定義

CodeRefactoringProvider所產生的CodeFixProvider動作。

C#
public abstract class CodeAction
繼承
CodeAction
衍生

建構函式

屬性

EquivalenceKey

如果兩個程式代碼動作具有相等的非 Null EquivalenceKey 值,而且由相同 CodeFixProviderCodeRefactoringProvider產生,則會將其視為相等。

IsInlinable

如果此程式代碼動作包含 NestedActions,則此屬性會提供提示給主機,指出是否可以滑動此程式代碼動作,並只呈現巢狀動作。 當主機已經顯示許多最上層動作時,應考慮 不要 內嵌此動作,以讓使用者保持低顯示的選項數目。 不過,如果向用戶顯示幾個選項,內嵌此動作可能會很有幫助,因為它可讓使用者查看並選擇其中一個具有較少步驟的巢狀選項。 若要使用巢狀動作建立 CodeAction ,請使用 Create(String, ImmutableArray<CodeAction>, Boolean)

NestedActions

這個 CodeAction中包含的子動作。 可以在主機中呈現,以提供更多潛在解決方案動作給特定問題。 若要使用巢狀動作建立 CodeAction ,請使用 Create(String, ImmutableArray<CodeAction>, Boolean)

Priority

這個特定動作在一組其他動作內的優先順序。 較不相關的動作應該覆寫此動作,並指定較低的優先順序,讓使用者可以輕鬆地存取更重要的動作。 如果未覆寫,則傳 Default 回 。

Tags

來自 WellKnownTags的描述性標籤。 這些標記可能會影響項目的顯示方式。

Title

簡短標題,描述可能會出現在功能表中的動作。

方法

ComputeOperationsAsync(CancellationToken)

如果您想要實 CodeAction 作包含自定義 CodeActionOperation的子類別,請覆寫這個方法。

ComputeOperationsAsync(IProgress<CodeAnalysisProgress>, CancellationToken)

如果您想要實 CodeAction 作包含自定義 CodeActionOperation的子類別,請覆寫這個方法。 偏好在計算長時間執行時覆寫這個方法 ComputeOperationsAsync(CancellationToken) ,而且應該向用戶顯示進度。

ComputePreviewOperationsAsync(CancellationToken)

如果您想要實 CodeAction 作一組與 所產生的 ComputeOperationsAsync(IProgress<CodeAnalysisProgress>, CancellationToken)作業不同的預覽作業,請覆寫這個方法。

ComputePriority()

計算 CodeActionPriority 應該顯示此程式碼動作的群組。 這可以是 介於和High之間的Lowest法務值。

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

CodeAction為單Document一變更建立 。 當變更耗費大量計算成本時,請使用此處理站,並應延遲到要求為止。

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

CodeAction為單Document一變更建立 。 當變更耗費大量計算成本時,請使用此處理站,並應延遲到要求為止。

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

CodeAction為中的多個 Document 變更建立 。Solution 當變更耗費大量計算成本時,請使用此處理站,並應延遲到要求為止。

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

CodeAction為中的多個 Document 變更建立 。Solution 當變更耗費大量計算成本時,請使用此處理站,並應延遲到要求為止。

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

CodeRefactoringProvider所產生的CodeFixProvider動作。

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

CodeAction為中的多個 Document 變更建立 。Solution 當變更耗費大量計算成本時,請使用此處理站,並應延遲到要求為止。

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

建立代表 CodeAction 程式代碼動作群組的 。

Create(String, ImmutableArray<CodeAction>, Boolean)

建立代表 CodeAction 程式代碼動作群組的 。

GetChangedDocumentAsync(CancellationToken)

計算單一文件的變更。 如果您想要實作變更單一 CodeAction 檔的子類別,請覆寫這個方法。 覆寫 GetChangedDocumentAsync(IProgress<CodeAnalysisProgress>, CancellationToken) 以在計算作業時報告進度。

GetChangedDocumentAsync(IProgress<CodeAnalysisProgress>, CancellationToken)

計算單一文件的變更。 如果您想要實作變更單一 CodeAction 檔的子類別,請覆寫這個方法。 偏好在計算長時間執行時覆寫這個方法 GetChangedDocumentAsync(CancellationToken) ,而且應該向用戶顯示進度。

GetChangedSolutionAsync(CancellationToken)

計算整個解決方案的所有變更。 如果您想要實 CodeAction 作變更多個文件的子類別,請覆寫這個方法。 覆寫 GetChangedSolutionAsync(IProgress<CodeAnalysisProgress>, CancellationToken) 以在計算作業時報告進度。

GetChangedSolutionAsync(IProgress<CodeAnalysisProgress>, CancellationToken)

計算整個解決方案的所有變更。 如果您想要實 CodeAction 作變更多個文件的子類別,請覆寫這個方法。 偏好在計算長時間執行時覆寫這個方法 GetChangedSolutionAsync(CancellationToken) ,而且應該向用戶顯示進度。

GetOperationsAsync(CancellationToken)

定義程式代碼動作的作業順序。

GetOperationsAsync(Solution, IProgress<CodeAnalysisProgress>, CancellationToken)

定義程式代碼動作的作業順序。

GetPreviewOperationsAsync(CancellationToken)

用來建構預覽的作業順序。

PostProcessAsync(IEnumerable<CodeActionOperation>, CancellationToken)

將後續處理步驟套用至任何 ApplyChangesOperation的 。

PostProcessChangesAsync(Document, CancellationToken)

將後置處理步驟套用至單一檔:減少使用 Annotation 標註的格式化節點加上批註的節點 Annotation

PostProcessChangesAsync(Solution, CancellationToken)

將後續處理步驟套用至解決方案變更,例如格式化和簡化。

適用於

產品 版本
Roslyn 4.2.0, 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, 4.9.2, 3.0.0, 3.1.0, 3.2.0, 3.2.1, 3.3.1, 3.4.0, 3.5.0, 3.6.0, 3.7.0, 3.8.0, 3.9.0, 3.10.0, 3.11.0, 4.0.1, 4.1.0, 4.12.2, 4.13.0