public VisualStudioWindowsLSPEditorFeatureDetector(AggregateProjectCapabilityResolver projectCapabilityResolver) { _projectCapabilityResolver = projectCapabilityResolver; _vsUIShellOpenDocument = new Lazy <IVsUIShellOpenDocument>(() => { var shellOpenDocument = (IVsUIShellOpenDocument)ServiceProvider.GlobalProvider.GetService(typeof(SVsUIShellOpenDocument)); Assumes.Present(shellOpenDocument); return(shellOpenDocument); }); _useLegacyEditor = new Lazy <bool>(() => { var featureFlags = (IVsFeatureFlags)AsyncPackage.GetGlobalService(typeof(SVsFeatureFlags)); var legacyEditorFeatureFlagEnabled = featureFlags.IsFeatureEnabled(LegacyRazorEditorFeatureFlag, defaultValue: false); if (legacyEditorFeatureFlagEnabled) { return(true); } var settingsManager = (ISettingsManager)ServiceProvider.GlobalProvider.GetService(typeof(SVsSettingsPersistenceManager)); Assumes.Present(settingsManager); var useLegacyEditor = settingsManager.GetValueOrDefault <bool>(UseLegacyASPNETCoreEditorSetting); return(useLegacyEditor); }); }
public DefaultTextBufferProjectService( ITextDocumentFactoryService documentFactory, AggregateProjectCapabilityResolver projectCapabilityResolver) { if (documentFactory is null) { throw new ArgumentNullException(nameof(documentFactory)); } if (projectCapabilityResolver is null) { throw new ArgumentNullException(nameof(projectCapabilityResolver)); } _documentFactory = documentFactory; _projectCapabilityResolver = projectCapabilityResolver; }
public VisualStudioMacLSPEditorFeatureDetector( AggregateProjectCapabilityResolver projectCapabilityResolver, TextBufferProjectService textBufferProjectService) { _projectCapabilityResolver = projectCapabilityResolver; _textBufferProjectService = textBufferProjectService; _useLegacyEditor = new Lazy <bool>(() => { // TODO: Pull from preview features collection if (FeatureSwitchService.IsFeatureEnabled(RazorLSPEditorFeatureFlag) == true) { return(false); } return(true); }); }
public DefaultTextBufferProjectService( [Import(typeof(SVsServiceProvider))] IServiceProvider services, ITextDocumentFactoryService documentFactory, AggregateProjectCapabilityResolver projectCapabilityResolver) { if (services is null) { throw new ArgumentNullException(nameof(services)); } if (documentFactory is null) { throw new ArgumentNullException(nameof(documentFactory)); } if (projectCapabilityResolver is null) { throw new ArgumentNullException(nameof(projectCapabilityResolver)); } _documentFactory = documentFactory; _projectCapabilityResolver = projectCapabilityResolver; _documentTable = new RunningDocumentTable(services); }