/// <summary> /// This function is the callback used to execute the command when the menu item is clicked. /// See the constructor to see how the menu item is associated with this function using /// OleMenuCommandService service and MenuCommand class. /// </summary> /// <param name="sender">Event sender.</param> /// <param name="e">Event args.</param> #pragma warning disable VSTHRD100 // Avoid async void methods private async void Execute(object sender, EventArgs e) #pragma warning restore VSTHRD100 // Avoid async void methods { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(_package.DisposalToken); var dte = (DTE)await _package.GetServiceAsync(typeof(DTE)); if (dte == null) { throw new ArgumentNullException(nameof(dte)); } var selectedItems = dte.SelectedItems; if (selectedItems == null) { return; } foreach (SelectedItem selectedItem in selectedItems) { if (!(selectedItem.ProjectItem is ProjectItem projectItem)) { continue; } var filePath = projectItem.FileNames[0]; var unitTestClassWriter = ApplicationServiceLocator.GetService <ITestClassSetupService>(); unitTestClassWriter.SetupTestClass(filePath); break; } }
public MoviesController() { _menuService = ApplicationServiceLocator.GetService <IMovieService>(); }