【问题标题】:Arguments for Commands in VS CodeVS Code 中的命令参数
【发布时间】:2016-01-15 11:17:34
【问题描述】:

所以显然有命令的参数和注册一个类似的命令

vscode.commands.registerCommand("bla", (arg1: any, arg2: any) => {});

arg1 带来一个只包含一个键的奇怪对象,那就是context;一个对象,包含一些关于 - 你猜对了 - 上下文的信息。

用户也无法指定参数。不是通过命令面板,也不是键绑定。

那么这些参数是否仅适用于内部内容,还是应该由扩展开发人员使用?

【问题讨论】:

  • 除了上下文,您还想引入什么?请记住,这些命令将由用户通过命令托盘操作或键盘快捷键的字符串触发。从那里,您可以收集上下文或请求输入。
  • 我写了一个扩展,你可以将选定的文本复制到寄存器。当触发copy to register 命令时,系统会询问用户应该将文本复制到哪个寄存器。但是在使用键盘时,使用键线然后直接通过键(a、b、c 等)指定寄存器会很方便。为了实现这一点,我目前必须创建多个命令alácopyToReg1,然后用户可以拥有的寄存器数量在技术上与我创建的命令数量绑定。将寄存器作为keyboard.json 中指定的字符串参数传递不是很好吗?
  • 为什么不在一个命令中为用户创建一个下拉列表呢?您就像可能的命令一样受到空闲键数量的限制,但是您的想法似乎更有意义作为一个带有列表的命令。然后用户可以键入第一个垃圾并通过几个按键搜索/选择他们想要的垃圾。更好的是,他们不必记住和弦
  • 嗨@Databyte你设法解决了这个问题吗?到目前为止,实现这一目标的功能似乎根本不存在:(
  • 嗨@LeoGallucci不幸的是,看起来你是对的:(你不能从kedboard.json传递参数

标签: visual-studio-code


【解决方案1】:

keybindings.json 中,您可以这样指定参数:

{
    "command": "workbench.action.tasks.runTask",
    "key": "alt+d",
    "args": "docker"
}

要访问keybindings.json 打开View > Command Palette 并输入/选择Preferences: Open Keyboard Shortcuts (JSON)。您可能还想为此命令分配键盘快捷键。

【讨论】:

    猜你喜欢
    • 2019-06-09
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 2022-12-21
    • 1970-01-01
    相关资源
    最近更新 更多