Пример #1
0
        public ReplCommandTest() {
            _debuggerModeTracker = new VsDebuggerModeTracker();

            _componentContainerFactory = new InteractiveWindowComponentContainerFactoryMock();
            _workflowProvider = TestRInteractiveWorkflowProviderFactory.Create(debuggerModeTracker: _debuggerModeTracker);
            _workflow = _workflowProvider.GetOrCreate();
        }
Пример #2
0
        public RProjectLoadHooks(UnconfiguredProject unconfiguredProject
                                 , [ImportMany("Microsoft.VisualStudio.ProjectSystem.Microsoft.VisualStudio.Shell.Interop.IVsProject")] IEnumerable <Lazy <IVsProject> > cpsIVsProjects
                                 , IProjectLockService projectLockService
                                 , IRInteractiveWorkflowProvider workflowProvider
                                 , IInteractiveWindowComponentContainerFactory componentContainerFactory
                                 , IRToolsSettings toolsSettings
                                 , IThreadHandling threadHandling
                                 , ISurveyNewsService surveyNews
                                 , [Import(AllowDefault = true)] IProjectItemDependencyProvider dependencyProvider
                                 , ICoreShell coreShell)
        {
            _unconfiguredProject = unconfiguredProject;
            _cpsIVsProjects      = cpsIVsProjects;
            _projectLockService  = projectLockService;
            _workflowProvider    = workflowProvider;

            _toolsSettings      = toolsSettings;
            _threadHandling     = threadHandling;
            _surveyNews         = surveyNews;
            _dependencyProvider = dependencyProvider;
            _coreShell          = coreShell;

            _projectDirectory = unconfiguredProject.GetProjectDirectory();

            unconfiguredProject.ProjectRenamedOnWriter += ProjectRenamedOnWriter;
            unconfiguredProject.ProjectUnloading       += ProjectUnloading;
            _fileWatcher        = new MsBuildFileSystemWatcher(_projectDirectory, "*", 25, 1000, _coreShell.Services.FileSystem, new RMsBuildFileSystemFilter(), coreShell.Services.Log);
            _fileWatcher.Error += FileWatcherError;
            Project             = new FileSystemMirroringProject(unconfiguredProject, projectLockService, _fileWatcher, _dependencyProvider, coreShell.Services.Log);
        }
Пример #3
0
        public RProjectLoadHooks(UnconfiguredProject unconfiguredProject
                                 , [ImportMany("Microsoft.VisualStudio.ProjectSystem.Microsoft.VisualStudio.Shell.Interop.IVsProject")] IEnumerable <Lazy <IVsProject> > cpsIVsProjects
                                 , IProjectLockService projectLockService
                                 , IRInteractiveWorkflowProvider workflowProvider
                                 , IInteractiveWindowComponentContainerFactory componentContainerFactory
                                 , IRToolsSettings toolsSettings
                                 , IFileSystem fileSystem
                                 , IThreadHandling threadHandling
                                 , ISurveyNewsService surveyNews)
        {
            _unconfiguredProject       = unconfiguredProject;
            _cpsIVsProjects            = cpsIVsProjects;
            _workflowProvider          = workflowProvider;
            _componentContainerFactory = componentContainerFactory;

            _toolsSettings    = toolsSettings;
            _fileSystem       = fileSystem;
            _threadHandling   = threadHandling;
            _surveyNews       = surveyNews;
            _projectDirectory = unconfiguredProject.GetProjectDirectory();

            unconfiguredProject.ProjectUnloading += ProjectUnloading;
            _fileWatcher        = new MsBuildFileSystemWatcher(_projectDirectory, "*", 25, 1000, fileSystem, new RMsBuildFileSystemFilter());
            _fileWatcher.Error += FileWatcherError;
            Project             = new FileSystemMirroringProject(unconfiguredProject, projectLockService, _fileWatcher);
        }
Пример #4
0
 public RInteractiveWorkflowCommandTest(RComponentsMefCatalogFixture catalog, TestMethodFixture testMethod)
 {
     _testMethod                = testMethod.MethodInfo;
     _exportProvider            = catalog.CreateExportProvider();
     _workflow                  = _exportProvider.GetExportedValue <IRInteractiveWorkflowProvider>().GetOrCreate();
     _componentContainerFactory = _exportProvider.GetExportedValue <IInteractiveWindowComponentContainerFactory>();
 }
Пример #5
0
        public RProjectLoadHooks(UnconfiguredProject unconfiguredProject
            , [ImportMany("Microsoft.VisualStudio.ProjectSystem.Microsoft.VisualStudio.Shell.Interop.IVsProject")] IEnumerable<Lazy<IVsProject>> cpsIVsProjects
            , IProjectLockService projectLockService
            , IRInteractiveWorkflowProvider workflowProvider
            , IInteractiveWindowComponentContainerFactory componentContainerFactory
            , IRToolsSettings toolsSettings
            , IThreadHandling threadHandling
            , ISurveyNewsService surveyNews
            , [Import(AllowDefault = true)] IProjectItemDependencyProvider dependencyProvider
            , ICoreShell coreShell) {

            _unconfiguredProject = unconfiguredProject;
            _cpsIVsProjects = cpsIVsProjects;
            _projectLockService = projectLockService;
            _workflowProvider = workflowProvider;

            _toolsSettings = toolsSettings;
            _threadHandling = threadHandling;
            _surveyNews = surveyNews;
            _dependencyProvider = dependencyProvider;
            _coreShell = coreShell;

            _projectDirectory = unconfiguredProject.GetProjectDirectory();

            unconfiguredProject.ProjectRenamedOnWriter += ProjectRenamedOnWriter;
            unconfiguredProject.ProjectUnloading += ProjectUnloading;
            _fileWatcher = new MsBuildFileSystemWatcher(_projectDirectory, "*", 25, 1000, _coreShell.Services.FileSystem, new RMsBuildFileSystemFilter(), coreShell.Services.Log);
            _fileWatcher.Error += FileWatcherError;
            Project = new FileSystemMirroringProject(unconfiguredProject, projectLockService, _fileWatcher, _dependencyProvider, coreShell.Services.Log);
        }
Пример #6
0
        public ReplCommandTest()
        {
            _debuggerModeTracker = new VsDebuggerModeTracker();

            _componentContainerFactory = new InteractiveWindowComponentContainerFactoryMock();
            _workflowProvider          = TestRInteractiveWorkflowProviderFactory.Create(debuggerModeTracker: _debuggerModeTracker);
            _workflow = _workflowProvider.GetOrCreate();
        }
Пример #7
0
 public PlotIntegrationTest(RComponentsMefCatalogFixture catalog, TestMethodFixture testMethod, TestFilesFixture testFiles)
 {
     _exportProvider            = catalog.CreateExportProvider();
     _workflowProvider          = _exportProvider.GetExportedValue <TestRInteractiveWorkflowProvider>();
     _workflow                  = _exportProvider.GetExportedValue <IRInteractiveWorkflowProvider>().GetOrCreate();
     _componentContainerFactory = _exportProvider.GetExportedValue <IInteractiveWindowComponentContainerFactory>();
     _testMethod                = testMethod.MethodInfo;
     _testFiles                 = testFiles;
 }
 public RHistoryIntegrationTest(RComponentsMefCatalogFixture catalog) {
     _exportProvider = catalog.CreateExportProvider();
     _textBufferFactory = _exportProvider.GetExportedValue<ITextBufferFactoryService>();
     _textEditorFactory = _exportProvider.GetExportedValue<ITextEditorFactoryService>();
     _workflowProvider = _exportProvider.GetExportedValue<IRInteractiveWorkflowProvider>();
     _contentTypeRegistryService = _exportProvider.GetExportedValue<IContentTypeRegistryService>();
     _interactiveWindowComponentContainerFactory = _exportProvider.GetExportedValue<IInteractiveWindowComponentContainerFactory>();
     _historyVisualComponentContainerFactory = _exportProvider.GetExportedValue<IRHistoryVisualComponentContainerFactory>();
 }
Пример #9
0
 public VsMdCommandFactory(
     IRInteractiveWorkflowProvider workflowProvider,
     IInteractiveWindowComponentContainerFactory componentContainerFactory,
     IWebBrowserServices wbs)
 {
     _workflowProvider          = workflowProvider;
     _componentContainerFactory = componentContainerFactory;
     _wbs = wbs;
 }
Пример #10
0
 public RHistoryIntegrationTest(RComponentsMefCatalogFixture catalog)
 {
     _exportProvider             = catalog.CreateExportProvider();
     _textBufferFactory          = _exportProvider.GetExportedValue <ITextBufferFactoryService>();
     _textEditorFactory          = _exportProvider.GetExportedValue <ITextEditorFactoryService>();
     _workflowProvider           = _exportProvider.GetExportedValue <IRInteractiveWorkflowProvider>();
     _contentTypeRegistryService = _exportProvider.GetExportedValue <IContentTypeRegistryService>();
     _interactiveWindowComponentContainerFactory = _exportProvider.GetExportedValue <IInteractiveWindowComponentContainerFactory>();
     _historyVisualComponentContainerFactory     = _exportProvider.GetExportedValue <IRHistoryVisualComponentContainerFactory>();
 }
Пример #11
0
        public RInteractiveEvaluatorTest(RComponentsMefCatalogFixture catalog)
        {
            _exportProvider = catalog.CreateExportProvider();

            var settings = _exportProvider.GetExportedValue <IRSettings>();

            settings.RCodePage = 1252;

            _workflowProvider = _exportProvider.GetExportedValue <IRInteractiveWorkflowProvider>();
            _interactiveWindowComponentContainerFactory = _exportProvider.GetExportedValue <IInteractiveWindowComponentContainerFactory>();
        }
Пример #12
0
        public RProjectLoadHooks(UnconfiguredProject unconfiguredProject, IProjectLockService projectLockService, IRInteractiveWorkflowProvider workflowProvider, IInteractiveWindowComponentContainerFactory componentContainerFactory, IRToolsSettings toolsSettings, IFileSystem fileSystem, IThreadHandling threadHandling) {
            _unconfiguredProject = unconfiguredProject;
            _workflowProvider = workflowProvider;
            _componentContainerFactory = componentContainerFactory;

            _toolsSettings = toolsSettings;
            _fileSystem = fileSystem;
            _threadHandling = threadHandling;
            _projectDirectory = unconfiguredProject.GetProjectDirectory();

            unconfiguredProject.ProjectUnloading += ProjectUnloading;
            _fileWatcher = new MsBuildFileSystemWatcher(_projectDirectory, "*", 25, fileSystem, new RMsBuildFileSystemFilter());
            Project = new FileSystemMirroringProject(unconfiguredProject, projectLockService, _fileWatcher);
        }
Пример #13
0
 public RPlotIntegrationUITest(RComponentsMefCatalogFixture catalog, ContainerHostMethodFixture containerHost, TestMethodFixture testMethod, TestFilesFixture testFiles)
 {
     _containerHost               = containerHost;
     _exportProvider              = catalog.CreateExportProvider();
     _workflowProvider            = _exportProvider.GetExportedValue <TestRInteractiveWorkflowProvider>();
     _workflowProvider.BrokerName = nameof(RPlotIntegrationTest);
     _plotDeviceVisualComponentContainerFactory = _exportProvider.GetExportedValue <TestRPlotDeviceVisualComponentContainerFactory>();
     // Don't override the standard behavior of using the control size
     _plotDeviceVisualComponentContainerFactory.DeviceProperties = null;
     _plotHistoryVisualComponentContainerFactory = _exportProvider.GetExportedValue <IRPlotHistoryVisualComponentContainerFactory>();
     _workflow = _exportProvider.GetExportedValue <IRInteractiveWorkflowProvider>().GetOrCreate();
     _componentContainerFactory = _exportProvider.GetExportedValue <IInteractiveWindowComponentContainerFactory>();
     _testMethod          = testMethod.MethodInfo;
     _testFiles           = testFiles;
     _plotVisualComponent = UIThreadHelper.Instance.Invoke(() => _workflow.Plots.GetOrCreateVisualComponent(_plotDeviceVisualComponentContainerFactory, PlotWindowInstanceId));
     UIThreadHelper.Instance.Invoke(() => _workflow.Plots.RegisterVisualComponent(_plotVisualComponent));
 }
 public ShowRInteractiveWindowsCommand(IRInteractiveWorkflowProvider interactiveWorkflowProvider, IInteractiveWindowComponentContainerFactory componentContainerFactory) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdShowReplWindow) {
     _interactiveWorkflowProvider = interactiveWorkflowProvider;
     _componentContainerFactory = componentContainerFactory;
 }
 public VsRPlotManagerVisualComponentContainerFactory(IRInteractiveWorkflowProvider workflowProvider, IInteractiveWindowComponentContainerFactory componentContainerFactory)
 {
     _workflowProvider          = workflowProvider;
     _componentContainerFactory = componentContainerFactory;
 }
Пример #16
0
 public ShowRInteractiveWindowsCommand(IRInteractiveWorkflowProvider interactiveWorkflowProvider, IInteractiveWindowComponentContainerFactory componentContainerFactory) :
     base(RGuidList.RCmdSetGuid, RPackageCommandId.icmdShowReplWindow)
 {
     _interactiveWorkflowProvider = interactiveWorkflowProvider;
     _componentContainerFactory   = componentContainerFactory;
 }
Пример #17
0
 public VsRCommandFactory(IRInteractiveWorkflowProvider workflowProvider, IInteractiveWindowComponentContainerFactory componentContainerFactory) {
     _workflowProvider = workflowProvider;
     _componentContainerFactory = componentContainerFactory;
 }
Пример #18
0
 public VsRCommandFactory(IRInteractiveWorkflowProvider workflowProvider, IInteractiveWindowComponentContainerFactory componentContainerFactory)
 {
     _workflowProvider          = workflowProvider;
     _componentContainerFactory = componentContainerFactory;
 }
Пример #19
0
        public async Task <IInteractiveWindowVisualComponent> GetOrCreateVisualComponent(IInteractiveWindowComponentContainerFactory componentContainerFactory, int instanceId = 0)
        {
            Shell.AssertIsOnMainThread();

            if (ActiveWindow != null)
            {
                // Right now only one instance of interactive window is allowed
                if (instanceId != 0)
                {
                    throw new InvalidOperationException("Right now only one instance of interactive window is allowed");
                }

                return(ActiveWindow);
            }

            var evaluator = RInstallationHelper.VerifyRIsInstalled(Shell, _settings.RBasePath)
                ? new RInteractiveEvaluator(RSession, History, Shell, _settings)
                : (IInteractiveEvaluator) new NullInteractiveEvaluator();

            ActiveWindow = componentContainerFactory.Create(instanceId, evaluator);
            var interactiveWindow = ActiveWindow.InteractiveWindow;

            interactiveWindow.TextView.Closed += (_, __) => evaluator.Dispose();
            _operations.InteractiveWindow      = interactiveWindow;
            await interactiveWindow.InitializeAsync();

            ActiveWindow.Container.UpdateCommandStatus(true);
            return(ActiveWindow);
        }
 public VsRPackageManagerVisualComponentContainerFactory(ISearchControlProvider searchControlProvider, IRInteractiveWorkflowProvider workflowProvider, IInteractiveWindowComponentContainerFactory componentContainerFactory)
 {
     _searchControlProvider     = searchControlProvider;
     _workflowProvider          = workflowProvider;
     _componentContainerFactory = componentContainerFactory;
 }
Пример #21
0
        public async Task<IInteractiveWindowVisualComponent> GetOrCreateVisualComponent(IInteractiveWindowComponentContainerFactory componentContainerFactory, int instanceId = 0) {
            // Right now only one instance of interactive window is allowed
            if (ActiveWindow != null) {
                throw new InvalidOperationException("Right now only one instance of interactive window is allowed");
            }

            _coreShell.AssertIsOnMainThread();

            var evaluator = RInstallationHelper.VerifyRIsInstalled(_coreShell, _settings.RBasePath)
                ? new RInteractiveEvaluator(RSession, History, _coreShell, _settings)
                : (IInteractiveEvaluator) new NullInteractiveEvaluator();

            ActiveWindow = componentContainerFactory.Create(instanceId, evaluator);
            var interactiveWindow = ActiveWindow.InteractiveWindow;
            interactiveWindow.TextView.Closed += (_, __) => evaluator.Dispose();
            _operations.InteractiveWindow = interactiveWindow;

            await interactiveWindow.InitializeAsync();
            ActiveWindow.Container.UpdateCommandStatus(true);
            return ActiveWindow;
        }