WT:将多行粘贴到 Windows 终端而不执行

WT: Paste multiple lines to Windows Terminal without executing

在原来的 PowerShell 控制台中,可以在执行之前粘贴和编辑多行命令

例如这个多行脚本:

Write-Host "===== 1 ====="
Write-Host "===== 2 ====="
Write-Host "===== 3 ====="
Write-Host "===== 4 ====="

结果如下输出

不幸的是,在 Windows 终端粘贴相同的脚本会导致非常不同的输出

关于如何“修复”Windows 终端中的多行粘贴有什么想法吗?

我知道将换行符转换为分号并不理想

Write-Host "===== 1 =====";Write-Host "===== 2 =====";Write-Host "===== 3 =====";Write-Host "===== 4 ====="

在线转换器here

我的解决方案是在终端 setting.json 中用 { "command" 注释掉一行: "粘贴", "按键": "ctrl+v" }

然后它起作用了——这里是预期的输出

编辑:

取消注释 settings.json 中的 Ctrl+V 和弦后,粘贴功能由 PSReadLine 模块确保(参见 Get-PSReadLineKeyHandler -和弦 ctrl+v) 但 Ctrl+V 将停止在其他 shell 中工作 - 请改用 Shift+Ctr+V

只需勾选突出显示设置的复选框