private async void MenuItem_BeforeQueryStatus(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine("MenuItem_BeforeQueryStatus"); try { if (sender is OleMenuCommand menuCmd) { var dte = await Instance.ServiceProvider.GetServiceAsync(typeof(DTE)) as DTE; var logic = new InsertGridRowDefinitionCommandLogic(this.Logger, new VisualStudioAbstraction(this.Logger, this.ServiceProvider, dte)); var showCommandButton = logic.ShouldEnableCommand(); // Changed text isn't shown until subsequent display and so wrong number may be shown ////if (showCommandButton) ////{ //// var rowNumber = logic.GetRowNumber(); //// menuCmd.Text = $"Insert new row {rowNumber} definition"; // Will need localizing if/when get this working ////} menuCmd.Visible = menuCmd.Enabled = showCommandButton; } } catch (Exception exc) { this.Logger.RecordException(exc); throw; } }