我使用IntelliJ来编写Clojure。我使用内置的REPL来运行我的代码。我不知道为什么,但是在我运行项目之后,我总是要做“将REPL NS切换到当前文件”然后“在REPL中加载文件”以便将REPL用于主命名空间。我想询问是否有办法避免这些点击并在运行结束后立即使用REPL。
答案 0 :(得分:3)
在Cursive中,有两种方法可以将表单发送到当前活动的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中切换名称空间,而且命名空间混淆的可能性要小得多。
但是,如果未选中设置Evaluate forms in REPL namespace
,则只会这样做。如果没有,它将评估当前REPL命名空间中的表单,就像您通过REPL命令行输入它一样,需要手动切换命名空间。