/// <summary> /// Find all of the key bindings which have been removed /// </summary> internal static List <CommandKeyBinding> FindKeyBindingsMarkedAsRemoved(this ILegacySettings settings, CommandListSnapshot commandsSnapshot) { var list = new List <CommandKeyBinding>(); if (!settings.HaveUpdatedKeyBindings) { return(list); } var map = new Dictionary <string, CommandId>(); foreach (var commandKeyBinding in commandsSnapshot.CommandKeyBindings) { map[commandKeyBinding.Name] = commandKeyBinding.Id; } foreach (var commandBindingSetting in settings.RemovedBindings) { CommandId id; KeyBinding binding; if (KeyBinding.TryParse(commandBindingSetting.CommandString, out binding) && map.TryGetValue(commandBindingSetting.Name, out id)) { list.Add(new CommandKeyBinding( id, commandBindingSetting.Name, binding)); } } return(list); }
private static IEnumerable <CommandKeyBinding> GetCommandKeyBindingsHelper(Command command) { foreach (var cur in command.GetBindings()) { KeyBinding binding; if (KeyBinding.TryParse(cur, out binding)) { yield return(new CommandKeyBinding(command.Name, binding)); } } }
public static IEnumerable <CommandKeyBinding> GetCommandKeyBindings(this EnvDTE.Command command) { if (null == command) { throw new ArgumentNullException("command"); } foreach (var cur in command.GetCommandStrings()) { KeyBinding binding; if (KeyBinding.TryParse(cur, out binding)) { yield return(new CommandKeyBinding(command.Name, binding)); } } }
/// <summary> /// Find all of the key bindings which have been removed /// </summary> internal static List <CommandKeyBinding> FindKeyBindingsMarkedAsRemoved(this ILegacySettings settings) { var list = new List <CommandKeyBinding>(); if (!settings.HaveUpdatedKeyBindings) { return(list); } foreach (var commandBindingSetting in settings.RemovedBindings) { KeyBinding binding; if (KeyBinding.TryParse(commandBindingSetting.CommandString, out binding)) { list.Add(new CommandKeyBinding(commandBindingSetting.Name, binding)); } } return(list); }
/// <summary> /// Find all of the key bindings which have been removed /// </summary> internal static List <CommandKeyBinding> FindKeyBindingsMarkedAsRemoved() { var list = new List <CommandKeyBinding>(); var settings = Settings.Settings.Default; if (!settings.HaveUpdatedKeyBindings) { return(list); } var source = settings.RemovedBindings.Select(x => Tuple.Create(x.Name, x.CommandString)); foreach (var tuple in source) { KeyBinding binding; if (KeyBinding.TryParse(tuple.Item2, out binding)) { list.Add(new CommandKeyBinding(tuple.Item1, binding)); } } return(list); }