public DefaultImportDocumentManager( [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, VisualStudioWorkspaceAccessor workspaceAccessor) { if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (workspaceAccessor == null) { throw new ArgumentNullException(nameof(workspaceAccessor)); } _fileChangeService = serviceProvider.GetService(typeof(SVsFileChangeEx)) as IVsFileChangeEx; var workspace = workspaceAccessor.Workspace; _foregroundDispatcher = workspace.Services.GetRequiredService <ForegroundDispatcher>(); _errorReporter = workspace.Services.GetRequiredService <ErrorReporter>(); var razorLanguageServices = workspace.Services.GetLanguageServices(RazorLanguage.Name); _templateEngineFactoryService = razorLanguageServices.GetRequiredService <RazorTemplateEngineFactoryService>(); _importTrackerCache = new Dictionary <string, ImportTracker>(StringComparer.OrdinalIgnoreCase); }
// This is only used for testing. internal DefaultImportDocumentManager( IVsFileChangeEx fileChangeService, RazorTemplateEngineFactoryService templateEngineFactoryService, ForegroundDispatcher foregroundDispatcher, ErrorReporter errorReporter) { _fileChangeService = fileChangeService; _templateEngineFactoryService = templateEngineFactoryService; _foregroundDispatcher = foregroundDispatcher; _errorReporter = errorReporter; _importTrackerCache = new Dictionary <string, ImportTracker>(StringComparer.OrdinalIgnoreCase); }