in src/dotnet/JetBrains.PresentationAssistant/ReSharperActionShortcutProvider.cs [288:323]
private void SetWellKnownShortcuts(Shortcut shortcut, IActionDefWithId def,
bool showSecondarySchemeIfSame)
{
switch (def.ActionId)
{
// The Escape action doesn't have a bound shortcut, or a VS override
case "Escape":
shortcut.VsShortcut = GetShortcutSequence("Escape");
break;
// Only happens when we're tabbing around hotspots in Live Templates. Useful to show
case "TextControl.Tab":
shortcut.VsShortcut = GetShortcutSequence("Tab");
break;
case "TextControl.Enter":
shortcut.VsShortcut = GetShortcutSequence("Enter");
break;
// The shortcuts for the overridden VS "go to" commands come from the current
// binding, but if we're in the IntelliJ binding, they get removed, so we have
// to hard code them.
case "GotoDeclaration":
if (shortcut.VsShortcut == null)
shortcut.VsShortcut = GetShortcutSequence("F12");
break;
case "GotoImplementation":
if (shortcut.VsShortcut == null)
shortcut.VsShortcut = GetShortcutSequence("Control+F12");
break;
}
if (!shortcut.HasIntellijShortcuts && showSecondarySchemeIfSame)
shortcut.IntellijShortcut = shortcut.VsShortcut;
}