protected override async Task UpdateAsync(CommandArrayInfo info, CancellationToken cancelToken) { var editor = IdeApp.Workbench.ActiveDocument?.Editor; var ext = editor?.GetContent <CodeActionEditorExtension> (); if (ext == null) { return; } try { info.Add(new CommandInfo(GettextCatalog.GetString("Loading..."), false, false), null); var currentFixes = await ext.GetCurrentFixesAsync(cancelToken); var menu = await CodeFixMenuService.CreateFixMenu(editor, currentFixes, cancelToken); info.Clear(); foreach (var item in menu.Items) { AddItem(info, item); } if (menu.Items.Count == 0) { info.Add(new CommandInfo(GettextCatalog.GetString("No code fixes available"), false, false), null); } info.NotifyChanged(); } catch (OperationCanceledException) { } catch (Exception e) { LoggingService.LogError("Error while creating quick fix menu.", e); info.Clear(); info.Add(new CommandInfo(GettextCatalog.GetString("No code fixes available"), false, false), null); info.NotifyChanged(); } }