Visual studio code visualstudio代码集成终端中的SIGINT

Visual studio code visualstudio代码集成终端中的SIGINT,visual-studio-code,Visual Studio Code,在常规windows终端控件中,+C键绑定到SIGINT,允许您中断正在运行的进程。Visual Studio代码的集成终端使您能够通过Terminal.Integrated.commandsToSkipShell使用passthrough键命令,这非常有用。尽管默认情况下Control+C是键绑定到复制的,但在设置键绑定时,SIGINT并不明显。如何将SIGINT发送到VisualStudio代码集成控制台,最好是对其进行键绑定,以便向进程发出停止或中断的信号 这是我能够找到的文档,不幸的是,

在常规windows终端控件中,+C键绑定到SIGINT,允许您中断正在运行的进程。Visual Studio代码的集成终端使您能够通过Terminal.Integrated.commandsToSkipShell使用passthrough键命令,这非常有用。尽管默认情况下Control+C是键绑定到复制的,但在设置键绑定时,SIGINT并不明显。如何将SIGINT发送到VisualStudio代码集成控制台,最好是对其进行键绑定,以便向进程发出停止或中断的信号


这是我能够找到的文档,不幸的是,它没有参考SIGINT或使用Control+C进行中断,我认为这是一种常见的需要:

事实证明,在Windows的Visual Studio代码中,
ctrl-c
ctrl-v
等命令被设置为绕过终端,由VSCode本身处理

要修复此问题,只需打开首选项
文件>首选项>设置
ctrl-,
)并添加自己的
终端.integrated.commandsToSkipShell
设置值。最好让VSCode通过使用它的intellisense功能为您完成这项工作,这样您就可以获得所有的默认值,这样您就不会意外地改变您期望工作的其他行为

然后继续并移除
workbench.action.terminal.copySelection
以让
ctrl-c
工作,并移除
workbench.action.terminal.paste
以使
ctrl-v
工作


粘贴到终端仍然适用于
ctrl-shift-v
,但我还没有弄清楚如何进行复制。如果我这样做了,我会更新这个答案。

事实证明,从终端上复制是很容易的。只需进入
文件>首选项>键盘快捷键
下的键盘快捷键,然后搜索
终端
。您将看到一个设置为
ctrl-c
的“复制选择”快捷方式。我将我的更改为
ctrl-shift-c
,以匹配粘贴命令。您是否找到使用其他快捷方式发送SIGINT的方法?右键单击可以复制