protected PowerShellHost(string name, IRestoreEvents restoreEvents, IRunspaceManager runspaceManager) { _restoreEvents = restoreEvents; _runspaceManager = runspaceManager; // TODO: Take these as ctor arguments _sourceRepositoryProvider = ServiceLocator.GetInstance <ISourceRepositoryProvider>(); _solutionManager = ServiceLocator.GetInstance <IVsSolutionManager>(); _settings = ServiceLocator.GetInstance <ISettings>(); _deleteOnRestartManager = ServiceLocator.GetInstance <IDeleteOnRestartManager>(); _scriptExecutor = ServiceLocator.GetInstance <IScriptExecutor>(); _dte = ServiceLocator.GetInstance <DTE>(); _sourceControlManagerProvider = ServiceLocator.GetInstanceSafe <ISourceControlManagerProvider>(); _commonOperations = ServiceLocator.GetInstanceSafe <ICommonOperations>(); PackageManagementContext = new PackageManagementContext(_sourceRepositoryProvider, _solutionManager, _settings, _sourceControlManagerProvider, _commonOperations); _name = name; IsCommandEnabled = true; InitializeSources(); _sourceRepositoryProvider.PackageSourceProvider.PackageSourcesChanged += PackageSourceProvider_PackageSourcesChanged; _restoreEvents.SolutionRestoreCompleted += RestoreEvents_SolutionRestoreCompleted; }
public PowerShellHostProvider(IRestoreEvents restoreEvents) { if (restoreEvents == null) { throw new ArgumentNullException(nameof(restoreEvents)); } _restoreEvents = restoreEvents; }
public static IHost CreateHost(string name, IRestoreEvents restoreEvents, bool isAsync) { IHost host; if (isAsync) { host = new AsyncPowerShellHost(name, restoreEvents, _runspaceManager); } else { host = new SyncPowerShellHost(name, restoreEvents, _runspaceManager); } return(host); }
protected PowerShellHost(string name, IRestoreEvents restoreEvents, IRunspaceManager runspaceManager) { _restoreEvents = restoreEvents; _runspaceManager = runspaceManager; // TODO: Take these as ctor arguments var componentModel = NuGetUIThreadHelper.JoinableTaskFactory.Run(ServiceLocator.GetComponentModelAsync); _sourceRepositoryProvider = componentModel.GetService <ISourceRepositoryProvider>(); _solutionManager = new Lazy <IVsSolutionManager>(() => componentModel.GetService <IVsSolutionManager>()); _settings = new Lazy <ISettings>(() => componentModel.GetService <ISettings>()); _deleteOnRestartManager = new Lazy <IDeleteOnRestartManager>(() => componentModel.GetService <IDeleteOnRestartManager>()); _scriptExecutor = new Lazy <IScriptExecutor>(() => componentModel.GetService <IScriptExecutor>()); _restoreProgressReporter = new Lazy <IRestoreProgressReporter>(() => componentModel.GetService <IRestoreProgressReporter>()); _dte = new Lazy <DTE>(() => ServiceLocator.GetInstance <DTE>()); _sourceControlManagerProvider = new Lazy <ISourceControlManagerProvider>( () => componentModel.GetService <ISourceControlManagerProvider>()); _commonOperations = new Lazy <ICommonOperations>(() => componentModel.GetService <ICommonOperations>()); _name = name; IsCommandEnabled = true; InitializeSources(); _sourceRepositoryProvider.PackageSourceProvider.PackageSourcesChanged += PackageSourceProvider_PackageSourcesChanged; _restoreEvents.SolutionRestoreCompleted += RestoreEvents_SolutionRestoreCompleted; _vsMonitorSelection = new Microsoft.VisualStudio.Threading.AsyncLazy <IVsMonitorSelection>( async() => { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); // get the UI context cookie for the debugging mode var vsMonitorSelection = ServiceLocator.GetGlobalService <IVsMonitorSelection, IVsMonitorSelection>(); var guidCmdUI = VSConstants.UICONTEXT.SolutionExists_guid; vsMonitorSelection.GetCmdUIContextCookie( ref guidCmdUI, out _solutionExistsCookie); return(vsMonitorSelection); }, ThreadHelper.JoinableTaskFactory); }
public AsyncPowerShellHost(string name, IRestoreEvents restoreEvents, IRunspaceManager runspaceManager) : base(name, restoreEvents, runspaceManager) { }