这位习惯于 elpy 的 Emacs 老用户正在尝试使用 Scala 以及更具体地说是 Ammonite repl 迁移到 VSCode。
我使用 Ctrl+' 打开集成终端 & 我所要做的就是在 bash shell (ubuntu) 上输入 amm 来打开 repl;但是,我仍然想念能够使用 Ctrl+Enter 将编辑器中的行或选择发送到集成 shell。
我想这意味着一些编码。我可以从哪里开始?有没有人完成类似的?
非常感谢,
这位习惯于 elpy 的 Emacs 老用户正在尝试使用 Scala 以及更具体地说是 Ammonite repl 迁移到 VSCode。
我使用 Ctrl+' 打开集成终端 & 我所要做的就是在 bash shell (ubuntu) 上输入 amm 来打开 repl;但是,我仍然想念能够使用 Ctrl+Enter 将编辑器中的行或选择发送到集成 shell。
我想这意味着一些编码。我可以从哪里开始?有没有人完成类似的?
非常感谢,
如果您已经打开了终端和 REPL,则有一个内置命令,称为 "Run Selected Text in Active Terminal" / workbench.action.terminal.runSelectedText
。
它没有默认键绑定,因此您需要自己设置。像这样的东西会起作用:
{
"key": "ctrl+enter",
"command": "workbench.action.terminal.runSelectedText",
"when": "editorTextFocus && editorHasSelection"
}
实际上,我发现添加 VSCode宏扩展可以完成这项工作:
我刚刚更改了settings.json:
{
"window.zoomLevel": 1,
"editor.fontSize": 11,
"terminal.integrated.fontSize": 11,
"macros": {
"execCurLn": [
"expandLineSelection",
"workbench.action.terminal.runSelectedText",
"cancelSelection"
]
}
}
并添加(第一部分是纯 @kwood 并再次感谢你)到 keybindings.json
{
"key": "ctrl+enter",
"command": "workbench.action.terminal.runSelectedText",
"when": "editorTextFocus && editorHasSelection"
}
{
"key": "ctrl+enter",
"command": "macros.execCurLn",
"when": "editorTextFocus && !editorHasSelection"
},
{ "key": "ctrl+`", "command": "workbench.action.terminal.focus"},
{ "key": "ctrl+`", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}
关注另一篇文章VS Code 在运行 ctrl + enter时移至下一行,运行当前行然后向下光标,避免意外运行下一行
在 settings.json 中,添加
"macros": {
"pythonExecSelectionAndCursorDown": [
"python.execSelectionInTerminal",
"cursorDown",
]
}
在 keybindings.json 中,添加
{
"key": "ctrl+enter",
"command": "macros.pythonExecSelectionAndCursorDown",
"when": "editorTextFocus && editorLangId == 'python'"
},