justcla / KeyBindings

Installs alternative keyboard mapping schemes to work with Visual Studio. Provides rich hotkeys and keyboard shortcuts.
http://aka.ms/HotKeys
69 stars 10 forks source link

Doesn't seem to work in VS2019? #17

Open johnknoop opened 4 years ago

johnknoop commented 4 years ago

I've chosen to load the Intellij IDEA keymap, yet nothing happens with I press CTRL+N.

justcla commented 4 years ago

Do any of the other new shortcuts work?

I find that the loading the keyboard schemes via the menu doesn't stick for the next session. But loading them via Tools Options - Mapping scheme holds.

However I find that importing (loading) the shortcuts is more effective as it overrides anything already in place.

Did the keyboard manager pick up the keyboard maps correctly?

johnknoop commented 4 years ago

The alt+enter and ctrl+p works, but not the navigation commands (ctrl+n, ctrl+shift+n etc).

I cant find anything called Maching scheme in the Options dialog?

justcla commented 4 years ago

Mapping scheme. (Typo corrected)

Alt+enter is now built into the product.

voxoid0 commented 4 years ago

Same problem. During import, I did get 76 warnings of bindings that "do not exist", but even ones that are not listed in the warnings, such as Ctrl+B for Edit.GotoDefinition, do not work.

Your settings were imported, but there were some errors.

Warning 1:  Keyboard: The command 'Edit.SmartCompleteWord' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 2:  Keyboard: The command 'Edit.CompleteStatement' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 3:  Keyboard: The command 'Edit.ShowDocumentation' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 4:  Keyboard: The command 'Edit.ShowErrorInfo' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 5:  Keyboard: The command 'Edit.GenerateCode' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 6:  Keyboard: The command 'Edit.OverrideMethods' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 7:  Keyboard: The command 'Edit.ImplementMethods' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 8:  Keyboard: The command 'Edit.ToggleComment' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 9:  Keyboard: The command 'Edit.IncreaseSelection' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 10:  Keyboard: The command 'Edit.DecreaseSelection' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 11:  Keyboard: The command 'Edit.ShowContextInfo' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 12:  Keyboard: The command 'EditorContextMenus.CodeWindow.OrganizeUsings.RemoveAndSort' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 13:  Keyboard: The command 'Edit.FormatIndents' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 14:  Keyboard: The command 'Edit.DuplicateSelection' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 15:  Keyboard: The command 'Edit.SelectToStartBrace' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 16:  Keyboard: The command 'Edit.SelectToEndBrace' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 17:  Keyboard: The command 'Edit.SearchStructurally' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 18:  Keyboard: The command 'Edit.ReplaceStructurally' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 19:  Keyboard: The command 'Edit.FindUsagesInFile' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 20:  Keyboard: The command 'Edit.HighlightUsagesInFile' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 21:  Keyboard: The command 'Edit.ShowUsages' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 22:  Keyboard: The command 'SelectConfigurationAndRun' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 23:  Keyboard: The command 'SelectConfigurationAndDebug' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 24:  Keyboard: The command 'Debug.RunContextConfigFromEditor' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 25:  Keyboard: The command 'Debug.SmartStepInto' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 26:  Keyboard: The scope 'Workflow Designer' does not exist. The command 'Window.NextTab' bound within this scope has been ignored.
Warning 27:  Keyboard: The scope 'Workflow Designer' does not exist. The command 'Window.PreviousTab' bound within this scope has been ignored.
Warning 28:  Keyboard: The command 'Window.RecentFilesPopup' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 29:  Keyboard: The command 'Navigate.GoToLastEditLocation' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 30:  Keyboard: The command 'View.SelectCurrentFileOrSymbolInAnyView' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 31:  Keyboard: The command 'Edit.OpenQuickDefLookup' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 32:  Keyboard: The command 'Edit.GoToTypeDeclaration' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 33:  Keyboard: The command 'Edit.GoToSuperMethod' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 34:  Keyboard: The command 'Edit.MoveToCodeBlockStart' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 35:  Keyboard: The command 'Edit.MoveToCodeBlockEnd' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 36:  Keyboard: The command 'FileStructurePopup' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 37:  Keyboard: The command 'ToggleBookmarkWithMnemonic' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 38:  Keyboard: The command 'GoToNumberedBookmark.0' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 39:  Keyboard: The command 'GoToNumberedBookmark.1' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 40:  Keyboard: The command 'GoToNumberedBookmark.2' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 41:  Keyboard: The command 'GoToNumberedBookmark.3' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 42:  Keyboard: The command 'GoToNumberedBookmark.4' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 43:  Keyboard: The command 'GoToNumberedBookmark.5' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 44:  Keyboard: The command 'GoToNumberedBookmark.6' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 45:  Keyboard: The command 'GoToNumberedBookmark.7' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 46:  Keyboard: The command 'GoToNumberedBookmark.8' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 47:  Keyboard: The command 'GoToNumberedBookmark.9' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 48:  Keyboard: The command 'File.Copy' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 49:  Keyboard: The command 'File.Move' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 50:  Keyboard: The command 'Refactoring.Move' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 51:  Keyboard: The command 'Refactoring.SafeDelete' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 52:  Keyboard: The command 'Refactoring.ExtractField' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 53:  Keyboard: The command 'Refactoring.ExtractConstant' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 54:  Keyboard: The command 'Refactoring.ExtractParameter' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 55:  Keyboard: The scope 'Workflow Designer' does not exist. The command 'Team.Git.GoToGitSynchronization' bound within this scope has been ignored.
Warning 56:  Keyboard: The command 'SourceControl.QuickPopup' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 57:  Keyboard: The command 'SurroundWithLiveTemplate' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 58:  Keyboard: The command 'OpenToolWindow.Favorites' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 59:  Keyboard: The command 'OpenToolWindow.Hierarchy' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 60:  Keyboard: The command 'AddToFavorites' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 61:  Keyboard: The command 'InspectCurrentFileWithCurrentProfile' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 62:  Keyboard: The command 'QuickSwitchCurrentScheme' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 63:  Keyboard: The command 'View.ArchitectureExplorer' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 64:  Keyboard: The command 'View.ArchitectureExplorer' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 65:  Keyboard: The command 'Debug.ParallelTasks' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 66:  Keyboard: The command 'Debug.ParallelTasks' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 67:  Keyboard: The command 'Debug.IntelliTraceCalls' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 68:  Keyboard: The command 'Debug.IntelliTraceCalls' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 69:  Keyboard: The command 'Debug.IntelliTraceEvents' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 70:  Keyboard: The command 'Debug.IntelliTraceEvents' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 71:  Keyboard: The command 'Debug.Exceptions' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 72:  Keyboard: The command 'Debug.Exceptions' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 73:  Keyboard: The command 'Debug.BreakAtFunction' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 74:  Keyboard: The command 'Debug.BreakAtFunction' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 75:  Keyboard: The command 'Edit.GenerateMethod' does not exist. The keyboard shortcut bound to this command has been ignored.
Warning 76:  Keyboard: The command 'Edit.GenerateMethod' does not exist. The keyboard shortcut bound to this command has been ignored.
Error 1:  Keyboard: The command 'Edit.NavigateTo' cannot be bound because the command 'Edit.GoToType' is already bound to the same keyboard shortcut, Ctrl+N, within the same scope, Global.
Error 2:  Keyboard: The command 'Edit.NavigateTo' cannot be bound because the command 'Edit.GoToFile' is already bound to the same keyboard shortcut, Ctrl+Shift+N, within the same scope, Global.
Error 3:  Keyboard: The command 'Edit.NavigateTo' cannot be bound because the command 'Edit.GoToSymbol' is already bound to the same keyboard shortcut, Ctrl+Shift+Alt+N, within the same scope, Global.
justcla commented 4 years ago

Don't be alarmed by the warnings about commands that can't be bound. They simply don't exist. I just wrote them all as placeholders for if/when they ever do exist.

And Edit.NavigateTo was the old 2015 command. I include both the new and old bindings, and I have them ordered so it will accept the newer one (ie. Edit.GoToType) if it is available. As such, there will always be a warning about not binding the older set.

I don't know why you're having trouble binding Ctrl+B. What's showing up in the Keyboard settings for Ctrl+B? Is there another command taking precedence?

voxoid0 commented 4 years ago

Sounds like a good setup.

Build.BuildSelection shows up for Ctrl+B. I tried disabling Resharper Ultimate 2019 and restarted Visual Studio; also tried resetting VS settings before importing, but same result: Edit.GotoDefinition is still mapped to F12, and Ctrl+B to Build.BuildSelection. I have Microsoft Visual Studio Community 2019, Version 16.6.0, VisualStudio.16.Release/16.6.0+30114.105

justcla commented 4 years ago

When it comes to controlling the keyboard shortcuts, the best way is in Tools->Options; Environment->Keyboard. The RESET button is the most effective way to clear any introduced shortcuts and restore deleted shortcuts. It also resets the mapping scheme, which varies based on the "Profile" type. (Ie. C#/C++, or default).

Once you've cleared the shortcuts, then you can try importing new shortcuts (ie. Vssettings files) Tools->Import/Export settings...

justcla commented 4 years ago

I note that the IntelliJ scheme does not remove the global shortcut for Build.BuildSelection. The Text Editor shortcut should still have preference. But pressing Ctrl+B outside the Text Editor will trigger a build. 😮 I think I'll raise a separate issue about that.

But do note that when checking a shortcut in the Keyboard options dialog, you sometimes need to open the combo box of shortcuts to see if there is more than one.