I use IntelliJ in order to write Clojure. I use the built-in REPL to run my code. I don't know why, but after I run my project, I always have to do “Switch REPL NS to current file” and then "Load file in REPL" in order to use the REPL for main namespace. I want to ask whether there is a way avoid these clicks and working with the REPL immediately after the run is over.
问问题
1495 次
1 回答
3
在 Cursive 中,有两种方式可以将表单发送到当前活动的 REPL:
- 在 REPL 窗口底部的 REPL 命令行中,按下与键绑定关联的组合键
Execute Current Statement
(默认Ctrl-Enter
) - 在文件编辑器窗口中,将插入符号放入表单中,按下与键绑定关联的组合键
Send top form to REPL
(默认Ctrl-Shift-P
,我将其重新绑定到Ctrl-Enter
)
在 REPL 命令行中,表单将始终在 REPL 的当前命名空间中进行评估(user
默认情况下)。如果您想在另一个命名空间中评估表单,您首先必须通过以下任一方式切换到该命名空间:
- 一个(
ns
命名空间)命令 - 按下与键绑定关联的组合键
Switch REPL NS to current file
(默认Ctrl-Shift-N
)
但是,当您从文件编辑器发送表单时,它可以从文件本身推断您希望它在哪个命名空间中执行。在后台,它将:
- 将活动的 REPL 命名空间切换到文件命名空间
- 评估 REPL 中选定的表单
- 切换回之前激活的 REPL 命名空间。
这样您就不必在 REPL 中切换名称空间,并且名称空间混淆的可能性要小得多。
但是,只有在未选中该设置时才会这样做Evaluate forms in REPL namespace
。如果不是,它将评估当前 REPL 命名空间中的表单,就像您通过 REPL 命令行输入它一样,需要手动切换命名空间。
于 2016-02-23T16:07:03.037 回答