VSCode中跳转问题时弹出的弹窗如何通过编程关闭?
解决VS Code跳转问题时自动弹出详情弹窗的问题
问题背景
我将VS Code中跳转到下一个问题的快捷键(原fn+F8)修改为未使用的F19,配置如下(keybindings.json):
{ "key": "f19", "when": "editorFocus", "command": "runCommands", "args": { "commands": [ "editor.action.marker.nextInFiles" ] } }
需求仅为将光标定位到下一个问题,但每次操作都会弹出问题详情弹窗,必须手动关闭,十分困扰。尝试寻找类似editor.action.marker.closePopup的命令未果,想知道可行的解决办法。
可行解决办法
方法1:全局禁用跳转弹窗(最简单)
打开VS Code设置(快捷键Ctrl+,或Cmd+,),搜索editor.markerNavigation.showPopup,取消勾选该选项;或者直接在settings.json中添加以下配置:
"editor.markerNavigation.showPopup": false
该设置会直接关闭跳转到问题/标记时自动弹出的详情弹窗,无需额外操作。
方法2:快捷键中模拟Esc关闭弹窗(保留全局弹窗)
若仅需在使用F19时关闭弹窗,可借助Multi Command扩展(先在扩展市场安装),修改keybindings.json配置:
{ "key": "f19", "when": "editorFocus", "command": "extension.multiCommand.execute", "args": { "sequence": [ "editor.action.marker.nextInFiles", { "command": "type", "args": { "text": "\u001B" } // 模拟按下Esc键 } ] } }
\u001B是Esc键的Unicode编码,通过type命令模拟输入Esc以关闭弹窗。
方法3:使用替代跳转命令
替换原命令为workbench.action.problems.focusNext,该命令定位问题时不会触发弹窗,配置如下:
{ "key": "f19", "when": "editorFocus", "command": "workbench.action.problems.focusNext" }
若该命令会弹出问题面板,可搭配关闭面板的命令:
{ "key": "f19", "when": "editorFocus", "command": "runCommands", "args": { "commands": [ "workbench.action.problems.focusNext", "workbench.action.closePanel" ] } }
内容的提问来源于stack exchange,提问作者Wurstkatze
相关产品推荐
相关产品推荐

