New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

load keybindings.json from .vscode dir if there is any ? #10708

Closed
mahald opened this Issue Aug 19, 2016 · 1 comment

Comments

Projects
None yet
2 participants
@mahald
Copy link

mahald commented Aug 19, 2016

  • VSCode Version: 1.4.0
  • OS Version: Windows 10 Latest

Not sure wheter it's a good idea, however for me it would make sense to put the keybindings.json into the .vscode dir, so all devs get the same keybindings on the project.

maybe it should load it from .vscode (if a dir is openend), then from the user location (and overwrite if conflicting). or is it already possible to define keybindings in the .vscode dir (didn't work as i just put the keybindings.json into it)?

@alexandrudima

This comment has been minimized.

Copy link
Member

alexandrudima commented Aug 22, 2016

@mahald The current recommended way of sharing keybindings is via extensions in the marketplace. You can create an extension that only adds keybinding rules. See for example https://github.com/Microsoft/vscode-sublime-keybindings

The reasons we don't want to load keybindings from the .vscode folder:

  • the current overwriting story for settings (which are part of the .vscode folder) is: default settings -> user settings -> workspace settings. This means that when you change a setting in the .vscode folder for a workspace, there is no way to change it further, it is "locked" in this folder. We believe this makes sense when used responsibly (e.g. it is impolite to set editor.fontFamily in the workspace settings as people like to use different fonts, but it makes sense to set files.eol as it relates to files in the workspace).
  • if we would add keybindings reading from the .vscode folder, to avoid confusions, it should behave the same. But that would make it impossible for a user to change their keybindings for a certain workspace. We believe that keybindings are personal and not workspace bound, as a dev could work with multiple workspaces and would like to maintain the same keybindings. Keybindings are overwritable: default keybindings -> extension keybindings -> user keybindings.
  • if we would add keybindings reading from the .vscode folder, we would need to change the file format to accomodate expressing variants across OSes. Since a workspace could be worked upon from developers using Windows, or developers using OSX, or using Linux, we would need to expand the file format (to be more similar to the extension keybindings).

All in all, we don't believe this would add much value and it would possibly make things more confusing for the majority of cases. Therefore, we recommend sharing keybindings via extensions.

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 18, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.