private async Task<IEnumerable<string>> FindRefactoringsAsync(string source)
 {
     var workspace = await TestHelpers.CreateSimpleWorkspace(source);
     var controller = new GetCodeActionsService(workspace, new[] { new NRefactoryCodeActionProvider() });
     var request = CreateRequest(source);
     var response = await controller.Handle(request);
     return response.CodeActions;
 }
 private async Task<IEnumerable<string>> FindRefactoringsAsync(string source)
 {
     var loader = new TestOmnisharpAssemblyLoader(_loggerFactory.CreateLogger<CodingActionsFacts>());
     var workspace = await TestHelpers.CreateSimpleWorkspace(source);
     var controller = new GetCodeActionsService(workspace, new[] { new NRefactoryCodeActionProvider(loader) });
     var request = CreateRequest(source);
     var response = await controller.Handle(request);
     return response.CodeActions;
 }
Exemple #3
0
        private async Task <IEnumerable <string> > FindRefactoringsAsync(string source)
        {
            var workspace = await TestHelpers.CreateSimpleWorkspace(source);

            var controller = new GetCodeActionsService(workspace, new[] { new NRefactoryCodeActionProvider() });
            var request    = CreateRequest(source);
            var response   = await controller.Handle(request);

            return(response.CodeActions);
        }
Exemple #4
0
        private async Task <IEnumerable <string> > FindRefactoringsAsync(string source)
        {
            var loader    = new TestOmnisharpAssemblyLoader(_loggerFactory.CreateLogger <CodingActionsFacts>());
            var workspace = await TestHelpers.CreateSimpleWorkspace(source);

            var controller = new GetCodeActionsService(workspace, new[] { new NRefactoryCodeActionProvider(loader) });
            var request    = CreateRequest(source);
            var response   = await controller.Handle(request);

            return(response.CodeActions);
        }
        private async Task <IEnumerable <OmniSharpCodeAction> > FindRefactoringsAsync(string source)
        {
            var request   = CreateGetCodeActionsRequest(source);
            var workspace = await GetOmniSharpWorkspace(request);

            var codeActions = CreateCodeActionProviders();

            var controller = new GetCodeActionsService(workspace, codeActions, _fixture.FakeLoggerFactory);
            var response   = await controller.Handle(request);

            return(response.CodeActions);
        }
Exemple #6
0
        private async Task <IEnumerable <OmniSharpCodeAction> > FindRefactoringsAsync(string source)
        {
            var request = CreateGetCodeActionsRequest(source);

            _host      = _host ?? TestHelpers.CreatePluginHost(new[] { typeof(RoslynCodeActionProvider).GetTypeInfo().Assembly, typeof(NRefactoryCodeActionProvider).GetTypeInfo().Assembly, typeof(GetCodeActionsService).GetTypeInfo().Assembly });
            _workspace = _workspace ?? await TestHelpers.CreateSimpleWorkspace(_host, request.Buffer, bufferPath);

            var controller = new GetCodeActionsService(_workspace, new ICodeActionProvider[] { new RoslynCodeActionProvider(), new NRefactoryCodeActionProvider() }, new FakeLoggerFactory());
            var response   = await controller.Handle(request);

            return(response.CodeActions);
        }
Exemple #7
0
        public async Task LoadOnDemandProjectsOneByOne()
        {
            var configData = new Dictionary <string, string> {
                [$"MsBuild:{nameof(MSBuildOptions.LoadProjectsOnDemand)}"] = "true"
            };

            using (var testProject = await TestAssets.Instance.GetTestProjectAsync("TwoProjectsWithSolution"))
                using (var host = CreateMSBuildTestHost(testProject.Directory, configurationData: configData.ToConfiguration()))
                {
                    MSBuildWorkspaceInfo workspaceInfo = await host.RequestMSBuildWorkspaceInfoAsync();

                    // Expect empty workspace initially since no documents have been requested yet
                    Assert.Null(workspaceInfo.SolutionPath);
                    Assert.NotNull(workspaceInfo.Projects);
                    Assert.Equal(0, workspaceInfo.Projects.Count);

                    // Requesting library document should load only that project
                    GetCodeActionsService  codeActionHandler  = host.GetRequestHandler <GetCodeActionsService>(OmniSharpEndpoints.V2.GetCodeActions);
                    GetCodeActionsResponse codeActionResponse = await codeActionHandler.Handle(
                        new GetCodeActionsRequest { FileName = Path.Combine(testProject.Directory, "Lib", "Class1.cs") });

                    workspaceInfo = await host.RequestMSBuildWorkspaceInfoAsync();

                    Assert.NotNull(codeActionResponse);
                    Assert.Null(workspaceInfo.SolutionPath);
                    Assert.NotNull(workspaceInfo.Projects);
                    Assert.Equal(1, workspaceInfo.Projects.Count);
                    Assert.Equal("Lib.csproj", Path.GetFileName(workspaceInfo.Projects[0].Path));

                    // Requesting app document should load that project as well
                    QuickFixResponse codeCheckResponse = await host.RequestCodeCheckAsync(Path.Combine(testProject.Directory, "App", "Program.cs"));

                    workspaceInfo = await host.RequestMSBuildWorkspaceInfoAsync();

                    Assert.NotNull(codeCheckResponse);
                    Assert.Null(workspaceInfo.SolutionPath);
                    Assert.NotNull(workspaceInfo.Projects);
                    Assert.Equal(2, workspaceInfo.Projects.Count);
                    Assert.Equal("App.csproj", Path.GetFileName(workspaceInfo.Projects[0].Path));
                    Assert.Equal("Lib.csproj", Path.GetFileName(workspaceInfo.Projects[1].Path));
                }
        }
 private async Task<IEnumerable<OmniSharpCodeAction>> FindRefactoringsAsync(string source)
 {
     var request = CreateGetCodeActionsRequest(source);
     _host = _host ?? TestHelpers.CreatePluginHost(new[] { typeof(RoslynCodeActionProvider).GetTypeInfo().Assembly, typeof(NRefactoryCodeActionProvider).GetTypeInfo().Assembly, typeof(GetCodeActionsService).GetTypeInfo().Assembly });
     _workspace = _workspace ?? await TestHelpers.CreateSimpleWorkspace(_host, request.Buffer, bufferPath);
     var controller = new GetCodeActionsService(_workspace, new ICodeActionProvider[] { new RoslynCodeActionProvider(), new NRefactoryCodeActionProvider() }, new FakeLoggerFactory());
     var response = await controller.Handle(request);
     return response.CodeActions;
 }