[原理分析]关于全局+项目的keybindings.json
2026/2/12小于 1 分钟
[原理分析]关于全局+项目的keybindings.json
原理1.关于keybindings.json的配置原理
当 key 被触发 → 如果 when 条件成立 → 执行 command
- key表示触发器是什么快捷键
- command表示要触发的命令
- when是其他条件下
command 前面加-是:删除(解绑)这个快捷键的默认绑定
比如
{
"key": "shift+cmd+l",
"command": "-editor.action.selectHighlights"
}你可能会很自然的想到:那我是不是可以自己写go或者python脚本作为命令呢?
No,
- 不能直接把 Go / Python 脚本当成 command 写进 keybindings.json
- 但可以通过「中间层」间接调用。
因为这里的command必须是:VS Code 已注册的 Command ID
比如:
editor.action.formatDocumentworkbench.action.files.save
VS Code 并不会执行 shell 命令或外部脚本。
原理2.修改默认快捷键!
- outline.focus命令
有的默认快捷键已经很厉害了,比如jet和vscode的cmd+方向向上【可以显示这个文件的函数、类的大纲!】
但是我发现,好像不对!!我的有的没有
命令叫:Outline: Focus on Outline View
outline.focus