VS Code在集成控制台中执行当前行或选择

use*_*920 8 scala visual-studio-code vscode-extensions ammonite vscode-settings

这个习惯于elpy的旧Emacs用户正试图使用​​Scala和更具体的Ammonite repl进入VSCode.

我用Ctrl +'打开集成终端,我要做的就是在bash shell(ubuntu)上键入amm来打开repl; 但是,我仍然错过了能够通过Ctrl + Enter将编辑器中的行或选择发送到集成shell.

我想这意味着一些编码.我在哪里可以开始?有没有人完成类似的?

非常感谢,

use*_*920 10

实际上,我发现添加VSCode Macos扩展可以完成这项工作:

我刚刚更改了settings.json:

{
    "window.zoomLevel": 1,
    "editor.fontSize": 11,
    "terminal.integrated.fontSize": 11,
    "macros": {
        "execCurLn": [
            "expandLineSelection",
            "workbench.action.terminal.runSelectedText",
            "cancelSelection"
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

并添加(第一部分是纯@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"}
Run Code Online (Sandbox Code Playgroud)

  • 当鼠标焦点位于一行而不是当前行时,它会导致运行下一行。评选作品。 (3认同)

kwo*_*ood 9

如果已经打开了终端并打开了REPL,则会有一个内置命令"在活动终端中运行所选文本"/ workbench.action.terminal.runSelectedText.

它没有默认的键绑定,因此您需要自己设置它.像这样的东西会起作用:

{
  "key": "ctrl+enter",
  "command": "workbench.action.terminal.runSelectedText",
  "when": "editorTextFocus && editorHasSelection"
}
Run Code Online (Sandbox Code Playgroud)

  • 令人惊讶的是它没有“运行当前行并将光标移动到下一个”快捷方式(如spyder中的f9)。认为这是非常常用的快捷方式 (4认同)

Dan*_*les 6

打开用命令面板CTRL+ SHIFT+ P,并查找Terminal: Run Selected Text In Active Terminal。在左侧,您将看到用于设置绑定的键绑定或轮子引擎。

在此处输入图片说明