将命令附加到已经存在的键绑定
Appending a command to a already existing keybinding
我想在我的扩展程序中将一个命令附加到一个已经存在的键绑定 F12 以转到定义。
如果我在我的 package.json
文件中设置它,则不再执行标准命令(删除键绑定)。
有什么方法可以执行我的命令:
- 在
editor.action.goToDeclaration
完成后(最多失败)
- 通过某种方式将其附加到键绑定
或者正常的行为应该是命令被连接起来,但我做错了什么,现在它被覆盖了?
简答:
这是不可能的(据我所知)。
但在这种特殊情况下,无论如何这是错误的方法。转到定义是一种语言功能,因此应该在语言服务器中实现,正如此处正确提到的那样:
https://github.com/Microsoft/vscode/issues/16402
在这种情况下使用键绑定将始终掩盖底层语言服务器(例如 Typescript)提供的命令。
这是 vscode 文档中有关如何实现语言功能的文章:
https://code.visualstudio.com/docs/extensions/language-support#_show-definitions-of-a-symbol
我想在我的扩展程序中将一个命令附加到一个已经存在的键绑定 F12 以转到定义。
如果我在我的 package.json
文件中设置它,则不再执行标准命令(删除键绑定)。
有什么方法可以执行我的命令:
- 在
editor.action.goToDeclaration
完成后(最多失败) - 通过某种方式将其附加到键绑定
或者正常的行为应该是命令被连接起来,但我做错了什么,现在它被覆盖了?
简答:
这是不可能的(据我所知)。
但在这种特殊情况下,无论如何这是错误的方法。转到定义是一种语言功能,因此应该在语言服务器中实现,正如此处正确提到的那样:
https://github.com/Microsoft/vscode/issues/16402
在这种情况下使用键绑定将始终掩盖底层语言服务器(例如 Typescript)提供的命令。
这是 vscode 文档中有关如何实现语言功能的文章:
https://code.visualstudio.com/docs/extensions/language-support#_show-definitions-of-a-symbol