VSCode 终端 Shift+Enter 无法换行?一招搞定!
最近在用 VSCode 写代码的时候,发现一个挺让人头疼的问题。在使用终端的时候,想通过 Shift+Enter 来换行输入多行命令,结果按下去直接就执行了,根本没法换行。
这问题困扰了我好几天,每次需要在终端里输入多行 SQL 或者其他复杂命令的时候,都得一行行复制粘贴,或者用其他编辑器写好再贴过来,特别影响开发效率。
后来实在受不了了,就上网搜了一下,发现这个问题还真挺常见的。解决方案其实也不复杂,就是需要手动修改一下 VSCode 的键盘快捷键配置。
具体操作是这样的:
首先打开 VSCode 的设置,然后找到 "Keyboard Shortcuts"(键盘快捷速)。在右上角你会看到一个文件编辑的图标,点击它,就能直接编辑 keybindings. 文件了。
接下来,我们需要添加一段配置。不同操作系统的按键略有不同:
如果你用的是 macOS,添加这段配置:
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[200~\n\u001b[201~" },
"when": "terminalFocus"
}如果是 Linux 或 Windows 系统,按键名稍有区别:
{
"key": "shift+return",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[200~\n\u001b[201~" },
"when": "terminalFocus"
}保存之后,回到终端试试,Shift+Enter 终于可以正常换行了!
简单解释一下这个配置做了什么:workbench.action.terminal.sendSequence 这个命令可以向终端发送特定的字符序列。\u001b[200~ 和 \u001b[201~ 是 ANSI 转义序列,用于告诉终端开始和结束"括号粘贴模式",这样终端就会知道你输入的是多行内容,而不是要立即执行命令。
这个问题在新版的 VSCode 中比较常见,可能是某些默认设置导致的冲突。反正现在搞定了,又能愉快地多行输入命令了!
希望这个分享能帮到遇到同样问题的你,毕竟开发中遇到这种小问题真的很搞心态,及时解决才能保持好的开发状态。