コード例 #1
0
        public sealed override async Task ComputeRefactoringsAsync(CodeRefactoringContext context)
        {
            var document = context.Document;
            var textSpan = context.Span;
            var cancellationToken = context.CancellationToken;

            // shouldn't have selection
            if (!textSpan.IsEmpty)
            {
                return;
            }

            // get applicable actions
            var finder = new ApplicableActionFinder(document, textSpan.Start, cancellationToken);
            var spanAndAction = await finder.GetSpanAndActionAsync().ConfigureAwait(false);
            if (spanAndAction == null || !spanAndAction.Item1.IntersectsWith(textSpan.Start))
            {
                return;
            }

            context.RegisterRefactoring(spanAndAction.Item2);
        }
コード例 #2
0
        public sealed override async Task ComputeRefactoringsAsync(CodeRefactoringContext context)
        {
            var document          = context.Document;
            var textSpan          = context.Span;
            var cancellationToken = context.CancellationToken;

            // shouldn't have selection
            if (!textSpan.IsEmpty)
            {
                return;
            }

            // get applicable actions
            var finder        = new ApplicableActionFinder(document, textSpan.Start, cancellationToken);
            var spanAndAction = await finder.GetSpanAndActionAsync().ConfigureAwait(false);

            if (spanAndAction == null || !spanAndAction.Item1.IntersectsWith(textSpan.Start))
            {
                return;
            }

            context.RegisterRefactoring(spanAndAction.Item2);
        }