本文整理汇总了C#中Microsoft.CodeAnalysis.CodeRefactorings.CodeRefactoringContext.RegisterRefactorings方法的典型用法代码示例。如果您正苦于以下问题:C# CodeRefactoringContext.RegisterRefactorings方法的具体用法?C# CodeRefactoringContext.RegisterRefactorings怎么用?C# CodeRefactoringContext.RegisterRefactorings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CodeRefactorings.CodeRefactoringContext
的用法示例。
在下文中一共展示了CodeRefactoringContext.RegisterRefactorings方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ComputeRefactoringsAsync
public override async Task ComputeRefactoringsAsync(CodeRefactoringContext context)
{
var document = context.Document;
var textSpan = context.Span;
var cancellationToken = context.CancellationToken;
// TODO: https://github.com/dotnet/roslyn/issues/5778
// Not supported in REPL for now.
if (document.Project.IsSubmission)
{
return;
}
if (document.Project.Solution.Workspace.Kind == WorkspaceKind.MiscellaneousFiles)
{
return;
}
var service = document.GetLanguageService<IGenerateDefaultConstructorsService>();
var result = await service.GenerateDefaultConstructorsAsync(document, textSpan, cancellationToken).ConfigureAwait(false);
if (!result.ContainsChanges)
{
return;
}
var actions = result.GetCodeRefactoring(cancellationToken).Actions;
context.RegisterRefactorings(actions);
}
示例2: ComputeRefactoringsAsync
public override async Task ComputeRefactoringsAsync(CodeRefactoringContext context)
{
var document = context.Document;
var textSpan = context.Span;
var cancellationToken = context.CancellationToken;
// NOTE(DustinCa): Not supported in REPL for now.
if (document.SourceCodeKind == SourceCodeKind.Interactive)
{
return;
}
if (document.Project.Solution.Workspace.Kind == WorkspaceKind.MiscellaneousFiles)
{
return;
}
var service = document.GetLanguageService<IGenerateDefaultConstructorsService>();
var result = await service.GenerateDefaultConstructorsAsync(document, textSpan, cancellationToken).ConfigureAwait(false);
if (!result.ContainsChanges)
{
return;
}
var actions = result.GetCodeRefactoring(cancellationToken).Actions;
context.RegisterRefactorings(actions);
}
示例3: ComputeRefactoringsAsync
public override async Task ComputeRefactoringsAsync(CodeRefactoringContext context)
{
var document = context.Document;
var textSpan = context.Span;
var cancellationToken = context.CancellationToken;
if (document.Project.Solution.Workspace.Kind == WorkspaceKind.MiscellaneousFiles)
{
return;
}
var service = document.GetLanguageService<IIntroduceVariableService>();
var result = await service.IntroduceVariableAsync(document, textSpan, cancellationToken).ConfigureAwait(false);
if (!result.ContainsChanges)
{
return;
}
var actions = result.GetCodeRefactoring(cancellationToken).Actions;
context.RegisterRefactorings(actions);
}
示例4: ComputeRefactoringsAsync
public sealed override async Task ComputeRefactoringsAsync(CodeRefactoringContext context)
{
var actions = await service.GetEncapsulateFieldCodeActionsAsync(context.Document, context.Span, context.CancellationToken).ConfigureAwait(false);
context.RegisterRefactorings(actions);
}
开发者ID:pabloescribanoloza,项目名称:monodevelop,代码行数:6,代码来源:AbstractEncapsulateFieldRefactoringProvider.cs
示例5: ComputeRefactoringsAsync
public sealed override async Task ComputeRefactoringsAsync(CodeRefactoringContext context)
{
var service = context.Document.GetLanguageService<AbstractExtractInterfaceService>();
var actions = await service.GetExtractInterfaceCodeActionAsync(context.Document, context.Span, context.CancellationToken).ConfigureAwait(false);
context.RegisterRefactorings(actions);
}