我认为唯一的方法是使用宏来运行quickOpen 命令和一键选择。
使用像 multi-command 这样的宏扩展,将其放入您的设置中:
"multiCommand.commands": [
{
"command": "multiCommand.goToRender",
"sequence": [
{
"command": "workbench.action.quickOpen",
"args": "@:render"
},
"workbench.action.acceptSelectedQuickOpenItem"
]
}
]
以及一些触发该宏的键绑定(在您的 keybindings.json 中):
{
"key": "shift+alt+p",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.goToRender" },
"when": "editorTextFocus"
}
当然,如果您有多个 render 对象,将选择第一个对象并导航到。
另一种方法是使用selectBy 扩展,您可以将其配置为跳转到单词render 的下一个或上一个匹配项。扩展可以移动到单词的出现处(而不是选择任何东西)。在您的设置中:
"selectby.regexes": {
"goToRender": {
"moveby": "render",
}
}
还有一些键绑定(你想要的任何绑定):
{
"key": "shift+alt+p", // go up to the previous `render`
"when": "editorTextFocus",
"command": "moveby.regex",
"args": ["goToRender", "moveby", "prev", "start"]
},
{
"key": "alt+p", // go to the next `render`
"when": "editorTextFocus",
"command": "moveby.regex",
"args": ["goToRender", "moveby", "next", "start"]
},