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);
            });
        }
Example #4
0
        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);
        }