VSCode中keybindings.json文件修改后频繁被覆盖是什么原因?
VSCode
keybindings.json 修改后自动被覆盖的常见原因 - 同时通过可视化快捷键设置页和JSON文件修改配置
VSCode提供两个快捷键修改入口:通过Ctrl+K Ctrl+S打开的可视化设置面板,以及直接编辑keybindings.json文件。如果修改完JSON文件后,又在可视化面板进行了快捷键调整、冲突处理等操作,VSCode会自动重写keybindings.json文件,未被可视化面板识别的自定义修改内容会被直接覆盖。 - 快捷键管理类插件自动重写配置
Sublime Text Keymap、VSCode Vim、第三方快捷键同步类插件都带有自己的快捷键预设规则,部分插件默认开启了自动对齐预设、覆盖用户自定义配置的逻辑,会定期重写keybindings.json来匹配插件的预设规则。 - 多设备设置同步冲突
如果开启了VSCode自带的设置同步功能,或是使用了第三方设置同步工具,本地修改keybindings.json后还未完成上传同步时,云端旧配置、其他设备上传的新配置触发了本地同步拉取逻辑,就会直接覆盖本地刚修改的内容。 - 配置文件权限异常
如果keybindings.json存放在系统受保护目录,或是当前系统用户对该文件没有写入权限,在VSCode内点击保存时会提示保存成功,但实际上修改内容没有真正写入磁盘,等VSCode下次自动加载配置时读取的还是原文件内容,看起来就像修改被自动覆盖。 - 配置语法错误触发自动回滚
keybindings.json要求严格符合JSON语法规范,如果你修改时漏写逗号、引号不匹配、字段名称错误,VSCode下次校验配置时会判定文件非法,自动回滚到上一个有效的配置版本,本次所有修改内容都会被清除。
排查时可以先禁用所有第三方快捷键相关插件,关闭设置同步后再修改一次配置,测试是否还会被覆盖;同时修改完成后可以用其他文本编辑器打开
keybindings.json,确认修改内容已经真正写入磁盘。
内容的提问来源于stack exchange,提问作者jersey bean
相关产品推荐
相关产品推荐

