public BuildToolsServer( IProject project, ICommunicationChannel channel, IOutputWindowManager outputWindow, IBuildErrorProcessor errorProcessor, IProjectSourceManager projectSources, UnconfiguredProject unconfiguredProject) { _project = project; _channel = channel; _outputWindow = outputWindow; _errorProcessor = errorProcessor; _projectSources = projectSources; // Build integration is not implemented for VisualC projects if (unconfiguredProject?.Capabilities?.Contains("VisualC") != true) { _project.RunWhenLoaded((_) => { _serverLoopCts = new CancellationTokenSource(); VSPackage.TaskFactory.RunAsyncWithErrorHandling(RunServerLoopAsync); }); _project.Unloaded += () => _serverLoopCts.Cancel(); } _projectName = unconfiguredProject != null?Path.GetFileName(unconfiguredProject.FullPath) : ""; }
public ErrorListManager(SVsServiceProvider serviceProvider, IBuildErrorProcessor buildErrorProcessor, IProject project) { _serviceProvider = serviceProvider; _errorListProvider = new ErrorListProvider(_serviceProvider); _buildErrorProcessor = buildErrorProcessor; _project = project; _project.Unloaded += () => _errorListProvider.Tasks.Clear(); }
private static BuildToolsServer StartBuildServer(Mock <IProject> projectMock, ICommunicationChannel channel, IFileSynchronizationManager deployManager = null, IBuildErrorProcessor errorProcessor = null) { deployManager = deployManager ?? new Mock <IFileSynchronizationManager>().Object; errorProcessor = errorProcessor ?? new Mock <IBuildErrorProcessor>().Object; var output = new Mock <IOutputWindowManager>(); output.Setup((w) => w.GetExecutionResultPane()).Returns(new Mock <IOutputWindowWriter>().Object); var server = new BuildToolsServer(projectMock.Object, channel, output.Object, errorProcessor, deployManager, null); projectMock.Raise((p) => p.Loaded += null, projectMock.Object.Options); // starts the server return(server); }