跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

vscode中怎么新建一个快捷键

直接编辑 keybindings.json 文件可避免图形界面覆盖和冲突提示缺失问题;需确保 JSON 格式正确,key 按 ctrl+shift+alt+cmd/win 顺序、字母小写、功能键大写,command 用 Copy Command ID 获取,when 条件表达式须准确。 怎么在 VS Code 里绑定自定义快捷键 直接改
keybindings.json
,别在图形界面点来点去——界面操作容易覆盖已有绑定,且不显示冲突提示,改完还得重启生效,效率低还容易出错。 打开命令面板(
Ctrl+Shift+P
或
Cmd+Shift+P
),输入
Preferences: Open Keyboard Shortcuts (JSON)
回车 文件是 JSON 格式,每条快捷键是一个对象,必须放在数组里,别漏了逗号和括号 关键字段只有三个:
key
(按键组合)、
command
(要触发的命令)、
when
(可选,限定触发场景,比如只在编辑器里生效) 想查某个功能对应的命令名?先用图形界面找到它,右键 → “Copy Command ID”,粘贴到
command
字段里 常见 key 写法和易错点
key
看似简单,但大小写、修饰键顺序、特殊符号全写错就无效。VS Code 不报错,只是静静忽略你写的这条。 修饰键固定顺序:
ctrl
shift
alt
cmd
(macOS)或
win
(Windows),写成
shift+ctrl+f
会失败,得写
ctrl+shift+f
字母键统一小写,
F12
写成
f12
也无效,必须大写
F12
空格键写成
space
,句点写成
period
,斜杠写成
slash
,不能用符号本身 中文输入法状态下快捷键基本失效,这不是 bug,是设计行为——别指望
ctrl+;
在中文模式下还能触发 怎么避免快捷键冲突 VS Code 不会主动提醒你新快捷键是否已被占用,冲突时默认以“后加载的为准”,而用户配置比插件配置加载晚,所以你的设置可能悄悄覆盖了插件功能。 VSCode 1.118 微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。 下载 在命令面板运行
Developer: Toggle Developer Tools
,切到 Console 标签页,输
console.log(JSON.parse(JSON.stringify(monaco.keybindings.keyboardMapper._simpleKeymap)))
可看当前全部映射(仅限已加载的) 更靠谱的做法:先在图形界面搜索你想绑定的
key
,比如搜
ctrl+e
,看有没有高亮显示的冲突项 插件自带快捷键通常带前缀,如
extension.jest-runner.run-all-tests
,如果你绑了
ctrl+alt+t
给它,但另一插件也用了这个组合,就得手动删掉其中一个 什么时候需要
when
条件 不是所有快捷键都要加
when
,但一旦涉及编辑器上下文(比如只在 .ts 文件里生效,或只在调试时可用),没它就会误触发。 常用条件值:
editorTextFocus
(光标在编辑器里)、
inDebugMode
(正在调试)、
resourceExtname == '.py'
(当前文件是 Python)
when
是表达式,不是字符串匹配,
resourceExtname == '.js'
有效,
resourceExtname contains 'js'
无效 多个条件用
&&
连接,比如
editorTextFocus && !inDebugMode
表示“有焦点且不在调试中” 条件写错不会报错,只是快捷键永远不响应——这是最隐蔽的坑,建议先用简单条件测试,再逐步加限制 实际改键这事,难点不在语法,而在理清“谁在什么时候要做什么”。很多人卡在改完没反应,其实是
when
写太严,或者
command
名抄错了字母,又或者根本没注意到输入法开着。

相关文章