创建新的宏(快捷方式)以复制粘贴并在集成终端中执行代码



问题

我经常做的一个操作是在编辑器上突出显示/选择代码,然后将其粘贴到集成终端上以执行它。虽然我使用Ctrl + cCtrl + backtickCtrl + Shift + vEnter的速度非常快,但它非常烦人和重复。有没有办法为此配置宏或快捷方式?

解决方案(失败)尝试

这个Github线程和这个StackOverflow问题展示了如何创建一个快捷方式来在不同的集成终端之间切换。我希望在我的情况下发生类似的事情(我在下面的示例中使用了Ctrl + Shift + u),例如:

[
{ 
"key" : "ctrl+shift+k", 
"command" : "workbench.action.terminal.focusNext" 
},
{ 
"key" : "ctrl+shift+j", 
"command" : "workbench.action.terminal.focusPrevious" 
},
{ 
"key" : "ctrl+shift+u", 
"command" : "ctrl+c+ctrl+`+ctrl+shift+v+enter" 
},
]

没有 VS 代码扩展

有一个命令:workbench.action.terminal.runSelectedText它已经执行了您想要的操作,并且默认情况下不绑定到任何键和弦。

[只是为了查看sendSequence命令]:

如果您不走其他路线,此键绑定将在终端中运行所选文本:

{
"key": "alt+t",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "${selectedText}u000D"
}
},

u000D是回归。

** [由菲利普添加]

:::

使用 VS 代码扩展(宏序列配置)

VS Code 目前不允许连接快捷方式,因此,如果要在集成终端上执行代码专注于它,则必须安装宏扩展。

为此有几种选择。但是,建议使用多命令(不要像宏那样追求第一个结果,其中一些已经过时了)。

要创建上述快捷方式,请在settings.json文件中创建一系列命令:

"multiCommand.commands": [ // Copy Paste to the Integrated Terminal and also Focus on it
{
"command": "multiCommand.copyPasteTerminalAndFocus",
"sequence": [
{
"command" : "workbench.action.terminal.sendSequence", 
"args" : {"text" : "${selectedText}u000D"}
},
"workbench.action.terminal.focus"
]
},
]

然后在keybindings.json文件中为其创建快捷方式:

{
"key": "alt+y",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.copyPasteTerminalAndFocus" }
},

最新更新