예제 #1
0
 public WorkspaceProjectContextHostInitiator(UnconfiguredProject project, IUnconfiguredProjectTasksService tasksService, IActiveWorkspaceProjectContextHost activeWorkspaceProjectContextHost, IProjectFaultHandlerService projectFaultHandler)
 {
     _project      = project;
     _tasksService = tasksService;
     _activeWorkspaceProjectContextHost = activeWorkspaceProjectContextHost;
     _projectFaultHandler = projectFaultHandler;
 }
예제 #2
0
 public void Dispose()
 {
     // Important for ProjectNodeComServices to null out fields to reduce the amount
     // of data we leak when extensions incorrectly holds onto the IVsHierarchy.
     _projectContextHost = null;
     _threadingService   = null;
 }
        private static LanguageServiceErrorListProvider CreateInstance(IActiveWorkspaceProjectContextHost projectContextHost)
        {
            projectContextHost ??= IActiveWorkspaceProjectContextHostFactory.Create();

            var provider = new LanguageServiceErrorListProvider(UnconfiguredProjectFactory.Create(), projectContextHost);

            return(provider);
        }
        public VsContainedLanguageComponentsFactory(IVsService <SAsyncServiceProvider, IOleAsyncServiceProvider> serviceProvider,
                                                    IUnconfiguredProjectVsServices projectVsServices,
                                                    IActiveWorkspaceProjectContextHost projectContextHost)
        {
            _serviceProvider    = serviceProvider;
            _projectVsServices  = projectVsServices;
            _projectContextHost = projectContextHost;

            _containedLanguageFactory = new AsyncLazy <IVsContainedLanguageFactory?>(GetContainedLanguageFactoryAsync, projectVsServices.ThreadingService.JoinableTaskFactory);
        }
 public WorkspaceProjectContextHostInitiator(
     UnconfiguredProject project,
     IUnconfiguredProjectTasksService tasksService,
     IActiveWorkspaceProjectContextHost activeWorkspaceProjectContextHost,
     IProjectFaultHandlerService projectFaultHandler,
     IUnconfiguredProjectLanguageServiceTelemetryService languageServiceTelemetryService)
 {
     _project      = project;
     _tasksService = tasksService;
     _activeWorkspaceProjectContextHost = activeWorkspaceProjectContextHost;
     _projectFaultHandler             = projectFaultHandler;
     _languageServiceTelemetryService = languageServiceTelemetryService;
 }
 public ProjectFileOrAssemblyInfoPropertiesProvider(
     [Import(ContractNames.ProjectPropertyProviders.ProjectFile)] IProjectPropertiesProvider delegatedProvider,
     [Import(ContractNames.ProjectPropertyProviders.ProjectFile)] IProjectInstancePropertiesProvider instanceProvider,
     [ImportMany(ContractNames.ProjectPropertyProviders.ProjectFile)] IEnumerable <Lazy <IInterceptingPropertyValueProvider, IInterceptingPropertyValueProviderMetadata> > interceptingValueProviders,
     UnconfiguredProject project,
     IActiveWorkspaceProjectContextHost projectContextHost,
     VisualStudioWorkspace workspace,
     IProjectThreadingService threadingService)
     : base(delegatedProvider, instanceProvider, interceptingValueProviders, project,
            getActiveProjectId: () => GetProjectId(threadingService, projectContextHost),
            workspace: workspace,
            threadingService: threadingService)
 {
 }
        public LanguageServiceErrorListProvider(
            UnconfiguredProject project,
            IActiveWorkspaceProjectContextHost projectContextHost,
            IVsService <SVsFeatureFlags, IVsFeatureFlags> featureFlagsService,
            JoinableTaskContext joinableTaskContext)
        {
            _project            = project;
            _projectContextHost = projectContextHost;

            _isLspPullDiagnosticsEnabled = new AsyncLazy <bool>(async() =>
            {
                IVsFeatureFlags?service = await featureFlagsService.GetValueAsync();
                return(service.IsFeatureEnabled(LspPullDiagnosticsFeatureFlagName, defaultValue: false));
            }, joinableTaskContext.Factory);
        }
 public DesignTimeInputsCompiler(UnconfiguredProject project,
                                 IActiveWorkspaceProjectContextHost activeWorkspaceProjectContextHost,
                                 IProjectThreadingService threadingService,
                                 IDesignTimeInputsChangeTracker changeTracker,
                                 ITempPECompiler compiler,
                                 IFileSystem fileSystem,
                                 ITelemetryService telemetryService)
     : base(threadingService.JoinableTaskContext)
 {
     _project = project;
     _activeWorkspaceProjectContextHost = activeWorkspaceProjectContextHost;
     _threadingService = threadingService;
     _changeTracker    = changeTracker;
     _compiler         = compiler;
     _fileSystem       = fileSystem;
     _telemetryService = telemetryService;
     _scheduler        = new TaskDelayScheduler(s_compilationDelayTime, threadingService, CancellationToken.None);
 }
예제 #9
0
 public TempPEBuildManager(IProjectThreadingService threadingService,
                           IUnconfiguredProjectCommonServices unconfiguredProjectServices,
                           IActiveWorkspaceProjectContextHost activeWorkspaceProjectContextHost,
                           IActiveConfiguredProjectSubscriptionService projectSubscriptionService,
                           ITempPECompiler compiler,
                           IFileSystem fileSystem,
                           IProjectFaultHandlerService projectFaultHandlerService,
                           VSBuildManager buildManager)
     : base(threadingService.JoinableTaskContext)
 {
     _unconfiguredProjectServices       = unconfiguredProjectServices;
     _activeWorkspaceProjectContextHost = activeWorkspaceProjectContextHost;
     _projectSubscriptionService        = projectSubscriptionService;
     _compiler   = compiler;
     _fileSystem = fileSystem;
     _projectFaultHandlerService = projectFaultHandlerService;
     BuildManager = buildManager;
 }
예제 #10
0
 public EditAndContinueProvider(IActiveWorkspaceProjectContextHost projectContextHost, IProjectThreadingService threadingService)
 {
     _projectContextHost = projectContextHost;
     _threadingService   = threadingService;
 }
 private static ProjectId?GetProjectId(IProjectThreadingService threadingService, IActiveWorkspaceProjectContextHost projectContextHost)
 {
     return(threadingService.ExecuteSynchronously(() =>
     {
         return projectContextHost.OpenContextForWriteAsync(accessor =>
         {
             return Task.FromResult(accessor.Context.Id);
         });
     }));
 }
예제 #12
0
 public LanguageServiceErrorListProvider(UnconfiguredProject project, IActiveWorkspaceProjectContextHost projectContextHost)
 {
     _project            = project;
     _projectContextHost = projectContextHost;
 }
 public ActiveEditorContextTracker(IProjectThreadingService threadingService, IActiveWorkspaceProjectContextHost activeWorkspaceProjectContextHost)
 {
     _threadingService = threadingService;
     _activeWorkspaceProjectContextHost = activeWorkspaceProjectContextHost;
 }
 public WorkspaceProjectContextHostInitiator(IUnconfiguredProjectTasksService tasksService, IActiveWorkspaceProjectContextHost activeWorkspaceProjectContextHost)
 {
     _tasksService = tasksService;
     _activeWorkspaceProjectContextHost = activeWorkspaceProjectContextHost;
 }
예제 #15
0
        private static VsContainedLanguageComponentsFactory CreateInstance(IOleAsyncServiceProvider serviceProvider = null, IUnconfiguredProjectVsServices projectVsServices = null, IActiveWorkspaceProjectContextHost projectContextHost = null)
        {
            projectVsServices  = projectVsServices ?? IUnconfiguredProjectVsServicesFactory.Create();
            projectContextHost = projectContextHost ?? IActiveWorkspaceProjectContextHostFactory.Create();

            return(new VsContainedLanguageComponentsFactory(IVsServiceFactory.Create <SAsyncServiceProvider, IOleAsyncServiceProvider>(serviceProvider),
                                                            projectVsServices,
                                                            projectContextHost));
        }
 public ProjectContextCodeModelProvider(IProjectThreadingService threadingService, ICodeModelFactory codeModelFactory, IActiveWorkspaceProjectContextHost projectContextHost)
 {
     _threadingService   = threadingService;
     _codeModelFactory   = codeModelFactory;
     _projectContextHost = projectContextHost;
 }
예제 #17
0
        private static VsContainedLanguageComponentsFactory CreateInstance(IVsContainedLanguageFactory containedLanguageFactory = null, IVsHierarchy hierarchy = null, IVsProject4 project = null, ProjectProperties properties = null, IActiveWorkspaceProjectContextHost projectContextHost = null)
        {
            var serviceProvider = IOleAsyncServiceProviderFactory.ImplementQueryServiceAsync(containedLanguageFactory, new Guid(LanguageServiceId));

            var projectVsServices = new IUnconfiguredProjectVsServicesMock();

            projectVsServices.ImplementVsHierarchy(hierarchy);
            projectVsServices.ImplementVsProject(project);
            projectVsServices.ImplementThreadingService(IProjectThreadingServiceFactory.Create());
            projectVsServices.ImplementActiveConfiguredProjectProperties(properties);

            return(CreateInstance(serviceProvider, projectVsServices.Object, projectContextHost));
        }
예제 #18
0
        private static ActiveEditorContextTracker CreateInstance(IActiveWorkspaceProjectContextHost activeWorkspaceProjectContextHost)
        {
            IProjectThreadingService threadingService = IProjectThreadingServiceFactory.Create();

            return(new ActiveEditorContextTracker(threadingService, activeWorkspaceProjectContextHost));
        }