private ProfilerPlugin(Package package, IVsOutputWindowPane outputPaneTizen, IVsThreadedWaitDialogFactory dialogFactory) { _package = package ?? throw new ArgumentNullException(nameof(package)); _outputPaneTizen = outputPaneTizen; _dialogFactory = dialogFactory; OLEServiceProvider = GetService(typeof(Microsoft.VisualStudio.OLE.Interop.IServiceProvider)) as Microsoft.VisualStudio.OLE.Interop.IServiceProvider; VsUiShell5 = GetIVsUIShell5(); ExplorerWindowCommand.Initialize(_package); ProfilingProgressWindowCommand.Initialize(_package); GeneralOptions = new GeneralOptions(new SettingsStore(_package, SettingsCollectionPath)); HeaptrackOptions = new HeaptrackOptions(new SettingsStore(_package, SettingsCollectionPath)); RegisterMenuHandlers(); ProfileLauncher.Initialize(); HeaptrackLauncher.Initialize(); ProfileLauncher = ProfileLauncher.Instance; HeaptrackLauncher = HeaptrackLauncher.Instance; HeaptrackLauncher.OnSessionFinished += HandleMenuItemRunMemoryProfiler; _solutionListener = new SolutionListener(_package) { AfterOpenSolution = delegate { _solutionSessionsContainer.Update(); return(VSConstants.S_OK); }, AfterCloseSolution = delegate { _solutionSessionsContainer.Update(); return(VSConstants.S_OK); } }; _solutionListener.Initialize(); _solutionSessionsContainer = new SolutionSessionsContainer((DTE2)Package.GetGlobalService(typeof(SDTE))); }
public HeaptrackSessionConfiguration(Project project, HeaptrackOptions hto) : base(project) { ReadProjectConfiguration(); ProjectHostBinPath = Path.Combine(ProjectHostPath, ProjectOutputPath); }