"重复上一个命令"的Visual Studio Code命令

26

有没有一个命令可以“重复上一个命令”?如果没有,我该如何设置这样的功能?

基本上我想要按下某个快捷键,就能够重复执行上一个命令,这样我就不必再到菜单或者ctrl-shift-p框中去查找它。


1
似乎没有这样的设置。这里是Windows默认按键绑定(其他操作系统也很容易找到)。在Visual Studio中,我们有撤消和恢复功能(Ctrl-Z和Ctrl-Y)。对于多光标相关的撤销,有一些东西,但没有看到Redo的迹象,而因为VS / VS code熟悉度原因,我们期望它被称为Redo。 - Damien_The_Unbeliever
@Damien_The_Unbeliever 很不幸。这将会很有用。 - lonix
你对宏解决方案感兴趣吗?而且你的“最后一个命令”总是在命令面板中找到的吗?你提到在菜单中找到它,是否有菜单中不在面板中的命令的示例?我只是问一下,因为对于命令面板命令来说,宏是很简单的。 - Mark
@Mark 一个可以绑定到某个快捷键的宏吗?对于在ctrl-p框中的某些内容来说,听起来是一个不错的替代方案。我在存储库中添加了一个问题,看起来他们会在某个时候添加这个功能。 - lonix
并非完全相同,但对于那些只想重复最后一个终端命令的人来说,有这个简单的重新运行上一个命令扩展可用。快捷键可以进行配置。 - Juliën
1
@Julien 请参考 https://dev59.com/drLma4cB1Zd3GeqPf8Ws ,无需扩展程序。 - Mark
5个回答

17
你可以按下 Ctrl + Shift + P,然后按 Enter 来重复最新的命令。
看一下:

输入图像描述


注意:如果您的焦点在 main.py 上,并且您运行 在终端中运行Python文件,它将执行 main.py。但是,在 error.py 中出现了错误。您去修复它(将焦点移动到 error.py)。现在您想再次运行它,显然它将执行 error.py - gelbander
2
如果命令需要提供参数,则无法正常工作。 - Zereges
你可以按下 F1 然后按下 Enter - undefined

7
如果您想重新运行上一个shell命令,请参见创建一个按键绑定以运行先前或最后的shell命令
旧答案(请参见上文)
这有点奇怪,因为要使workbench.action.acceptSelectedQuickOpenItem命令起作用,必须打开命令面板。 因此,每当您使用宏键绑定时,它都会短暂地闪开。
使用macrosRe扩展:
"macros": {
    
  "rerunCommand": [
    "workbench.action.showCommands",
    "workbench.action.acceptSelectedQuickOpenItem"
      
  ]
}

我假设你至少把"workbench.commandPalette.history": 50,设置为1,这样最近使用的命令会在命令面板的顶部。 [我认为此设置始终将上次使用的命令放在顶部并选择它。]

然后还有一些关键绑定:

{
    "key": "ctrl+;",
    "command": "macros.rerunCommand"
}, 

1
在 Mac 上,简单地按下 Ctrl-P 会重复上次在终端上执行的命令。看起来他们进行了更新!

1
如果您想重新运行最后一个shell命令,请使用Ctrl-R,参见制作键绑定以运行先前或上一个shell命令。实际上,在VSCode 1.70(2022年7月)中,Ctrl-R不再仅限于运行上一个命令。请参见问题154306“添加运行最近命令打开的上下文键”。

The views picker (Ctrl-q) lets you hit Ctrl-q again to go down the list:

{ "key": "ctrl+q", 
   "command": >"workbench.action.quickOpenNavigateNextInViewPicker",
   "when": "inQuickOpen && inViewsPicker" 
},

This is behavior we could copy in the run recent command to make it act even more like Ctrl-R in the shell

这是在PR 154552中实现的,并在VSCode Insiders中发布。
现在,您可以将一个操作关联到您的快捷键。
"when": "InTerminalRunCommandPicker"

从 VSCode 1.71(2022年8月)开始:

允许固定最近使用的命令

来自问题154388:在“运行最近命令”快速选择中允许固定命令

https://user-images.githubusercontent.com/35271042/178366598-9a6e520b-1e7c-4e74-ad7b-a08d4907493d.png

到:

https://user-images.githubusercontent.com/35271042/178366684-1f77ce44-ef8f-433d-b986-d3fe9b6065eb.png

这个功能今天已经在VSCode Insiders中发布了。


VSCode 1.75(2023年1月)实现了第一次打开命令面板时的“常用”命令列表(问题169091),使用PR 171293

它增加了以下设置:

workbench.commandPalette.experimental.suggestCommands

控制命令面板是否应该有一份常用命令列表。


-4

你可以按下 Shift + Alt + 向下箭头键,它会在 Windows VS Code 上重复最新的命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接