public async Task DoNotSuggestAnythingIfNotApplicable() { const string source = @" using System.Collections.Generic; public class Test { public Test(List<string> lst) { } public void Method() { } public static void DoSmth(Test testInstance) { testInstance.Method(); var v1 = new } }"; var document = GetTestDocument(source); for (int i = 0; i < source.Length; i++) { var context = GetContext(document, Provider, i); await Provider.ProvideCompletionsAsync(context); var completions = GetCompletions(context); Assert.That(completions, Is.Empty); } }
public static async Task <IReadOnlyList <CompletionItem> > GetCompletionsAsync(CompletionProvider provider, string source, string searchText) { int position = GetPosition(source, searchText); var document = GetTestDocument(source); var completionContext = GetContext(document, provider, position); await provider.ProvideCompletionsAsync(completionContext); return(GetCompletions(completionContext)); }
public static async Task <IReadOnlyList <CompletionItem> > GetCompletionsAsync(CompletionProvider provider, Document document, string searchText) { var sourceText = await document.GetTextAsync(); int position = GetPosition(sourceText.ToString(), searchText); var completionContext = GetContext(document, provider, position); await provider.ProvideCompletionsAsync(completionContext); return(GetCompletions(completionContext)); }
internal static async Task <CompletionContext> GetCompletionListContextAsync(CompletionProvider provider, Document document, int position, CompletionTrigger triggerInfo, OptionSet options = null) { options = options ?? document.Project.Solution.Workspace.Options; var service = document.Project.LanguageServices.GetService <CompletionService>(); var text = await document.GetTextAsync(); var span = service.GetDefaultItemSpan(text, position); var context = new CompletionContext(provider, document, position, span, triggerInfo, options, CancellationToken.None); await provider.ProvideCompletionsAsync(context); return(context); }
public static IReadOnlyList <CompletionItem> GetCompletions(CompletionProvider provider, string source, string additinalFile, string searchText) { int position = source.IndexOf(searchText) + searchText.Length; var document = GetTestDocument(source, additinalFile); var completionContext = GetContext(document, provider, position); provider.ProvideCompletionsAsync(completionContext).Wait(); var completions = GetCompletions(completionContext); return(completions); }
public async Task DoNotProvideCompletionsIfMemberIsNotAccessed() { const string source = @" using System; namespace A{ class CA { [System.Obsolete] public void MA(int par) { var a = 0; } } } namespace B{ static class B{ public static void ExtIntM(this int par) { } } }"; const string extensionsFile = @" namespace NM { public static class ObjectExtensions { public static void Do(this object obj) { } } }"; var document = GetTestDocument(source, extensionsFile); for (int i = 0; i < source.Length; i++) { var context = GetContext(document, Provider, i); await Provider.ProvideCompletionsAsync(context); var completions = GetCompletions(context); Assert.That(completions, Is.Empty); } }
public void DontSuggestAnythingInArbitraryContext() { const string source = @" public class Test { public void Method() { int i = 0; } }"; var document = GetTestDocument(source); for (int i = 0; i < source.Length; i++) { var context = GetContext(document, Provider, i); Provider.ProvideCompletionsAsync(context).Wait(); var completions = GetCompletions(context); Assert.That(completions, Is.Empty); } }