microsoft / vscode-vs-keybindings

Visual Studio Keymap for Visual Studio Code
MIT License
55 stars 40 forks source link

Exhaustive search for keyboard conflicts #6

Open rebornix opened 6 years ago

rebornix commented 6 years ago

From @tohagan on October 6, 2017 0:44

Extension Author (truncated) Version
html-snippets abu 0.1.0
vscode-color ans 0.4.5
npm-intellisense chr 1.3.0
vscode-simpler-icons dav 1.4.0
vscode-eslint dba 1.3.2
vscode-instant-markdown dba 1.3.0
tslint eg2 1.0.9
vscode-npm-script eg2 0.2.1
auto-rename-tag for 0.0.14
icon-fonts idl 1.8.1
angular2-switcher inf 0.1.4
docthis joe 0.4.8
Angular2 joh 2.7.0
vscode-todo Mat 0.8.0
Angular-BeastCode Mik 5.0.4
csharp ms- 1.12.1
vs-keybindings ms- 0.1.7
live-server-preview neg 0.0.4
language-vscode-javascript-angular2 nwa 0.0.11
ionic2-snippets oud 1.0.0
vscode-docker Pet 0.0.18
simontest Sim 0.17.2
vscode-fileutils sle 2.7.0
ionic2 Tha 2.4.0
cordova-tools vsm 1.2.12

After hitting another keyboard shortcut conflict I thought I'd do an exhaustive search for more so I've prepared a spreadsheet that highlights duplicate keyboard mapping to assist in the hunt. Below is an attached Excel sheet that I produced using the steps above to help identify keyboard conflicts and the procedure I used to create this list.

I also found some cases where an identical mapping rule was duplicated which might cause problems with your code maintenance in the future.

Here the conflict that trigged my search:

Steps to Reproduce:

  1. "Open Keybaord Shortcuts"
  2. Edit "keybinding.json"
  3. Select ALL (Ctrl-A) and Copy (Ctrl-C)
  4. Visit https://konklone.io/json/ to convert JSON to CSV
    • Remove header comment (1 line) before "[" and and all trailing comments after last "]"
  5. Download keyboard shortcuts as a CSV file.
  6. Open in Excel and sort by 1st column ("key")
  7. Use conditional formatting to highlight duplicate key mappings (1st column)

Inspect to check for duplicate key mappings that may conflict. I fully understand that you'd need to check the "when" condition. Since we sorted the rules, this sheet does not record the original rule order which may also affect their interpretation. I'm not up on this but I'm assuming you are!

Happy conflict hunting :+1:

vscode-keyboard-conflict.xlsx

Copied from original issue: rebornix/vscode-vs-keybindings#20

rebornix commented 6 years ago

From @tohagan on October 6, 2017 1:9

Found plenty more!