我正在使用带有集成终端的 Scala REPL。我在终端上打开 Scala REPL,然后用
发送小片段workbench.action.terminal.runSelectedText
(我已将其绑定(bind)到快捷方式)。当必须按字面意思运行代码片段时,这很有效。但有时当定义相互递归时,Scala 要求我用命令开始代码
scala> :粘贴
然后按 ctrl+d 结束。有没有一种方法可以自动将所选文本包装在“:粘贴”+ selected_text +“^d”中?
谢谢, 基督徒
最佳答案
${selectedText}
变量保存当前选择的文本,sendSequence
支持变量替换,因此在 Open Keyboard Shortcuts (JSON)
中尝试添加
[
{
"key": "cmd+shift+T",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": ":paste\u000D${selectedText}\u000D\u0004"
}
]
其中 \u0004
是 Control+D
,\u000D
是 Enter
。现在试试
- 从 sbt 启动
console
- 在
console
中选择要粘贴的源代码 - 点击
cmd+shift+T
关于Scala 和 VS Code 中的集成终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60167772/