CodeAction 类

定义

public ref class CodeAction abstract
public abstract class CodeAction
type CodeAction = class
Public MustInherit Class CodeAction
继承
CodeAction
派生

构造函数

CodeAction()

CodeFixProviderCodeRefactoringProvider生成的操作。

属性

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)

创建用于 CodeAction 对单个 Document的更改。 如果更改的计算成本很高,应延迟到请求时,请使用此工厂。

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

创建用于 CodeAction 对单个 Document的更改。 如果更改的计算成本很高,应延迟到请求时,请使用此工厂。

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

创建一个 CodeAction ,用于对 中的Solution多个Document进行更改。 如果更改的计算成本很高,应延迟到请求时,请使用此工厂。

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

创建一个 CodeAction ,用于对 中的Solution多个Document进行更改。 如果更改的计算成本很高,应延迟到请求时,请使用此工厂。

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

CodeFixProviderCodeRefactoringProvider生成的操作。

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

创建一个 CodeAction ,用于对 中的Solution多个Document进行更改。 如果更改的计算成本很高,应延迟到请求时,请使用此工厂。

Create(String, ImmutableArray<CodeAction>, Boolean)

创建表示 CodeAction 一组代码操作的 。

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

创建表示 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)

将后处理步骤应用于解决方案更改,例如格式设置和简化。

适用于