我正在尝试向 VS Code 实例添加一些快捷方式,并且希望使用 when
表达式来确定它们的范围以避免冲突。
唉,我正在努力寻找在表达式中使用的正确上下文名称来实现我想要的效果。
我搜索了文档,发现其中列出了一些:https://code.visualstudio.com/docs/getstarted/keybindings#_contexts
但是,正如文档所述:
The list above isn't exhaustive and you may see some when contexts for specific VS Code UI in the Default Keyboard Shortcuts.
当然,我想要确定快捷方式范围的上下文不在列表中;)
因此,我想知道是否有办法在 VS Code UI 中查找特定面板/ View 的上下文名称。
为了说明这一点,假设我希望仅当列出可用 NPM 脚本的面板聚焦时才激活快捷方式...应使用什么上下文名称来实现此目的?
最佳答案
我尝试过这个 - 没想到它会起作用 - 但它似乎是:
"when": "focusedView == npm"
类似信息是active/focussed view context clauses .
一般来说,您可以:
- 打开开发者工具:
帮助/切换开发者工具
并转到控制台 - 在 VS Code 命令面板中选择
检查上下文键
- 点击 vscode 窗口中的一个元素
- 查看工具控制台并展开其中的最后一项以显示所有当前上下文(when 子句)。
但是当我这样做时,我没有发现任何有用的东西,并且 focusedView = ""
就在那里,所以这没有帮助。
所以我只是尝试
{
"key": "alt+i",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "howdy" },
"when": "focusedView == npm"
},
它只是将 howdy
打印到终端进行测试。我能让它工作的唯一方法是当 npm script
viewlet header 或其内容获得焦点时.
关于visual-studio-code - VS Code - 查找快捷方式 'when' 表达式的面板/ View 上下文名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62190992/