Intellij idea 命名空间中的IntelliJ(草书)REPL求值

Intellij idea 命名空间中的IntelliJ(草书)REPL求值,intellij-idea,clojure,read-eval-print-loop,cursive,Intellij Idea,Clojure,Read Eval Print Loop,Cursive,我使用IntelliJ来编写Clojure。我使用内置的REPL来运行代码。我不知道为什么,但在我运行我的项目之后,我总是要“将REPL NS切换到当前文件”,然后“在REPL中加载文件”,以便将REPL用于主命名空间。我想问,是否有办法避免这些点击,并在运行结束后立即使用REPL 在草书中,有两种向当前活动的REPL发送表单的方式: 在REPL窗口底部的REPL命令行中,按与键绑定相关联的组合键executecurrent语句(默认值Ctrl-Enter) 从文件编辑器窗口,将插入符号放入表单

我使用IntelliJ来编写Clojure。我使用内置的REPL来运行代码。我不知道为什么,但在我运行我的项目之后,我总是要“将REPL NS切换到当前文件”,然后“在REPL中加载文件”,以便将REPL用于主命名空间。我想问,是否有办法避免这些点击,并在运行结束后立即使用REPL

在草书中,有两种向当前活动的REPL发送表单的方式:

  • 在REPL窗口底部的REPL命令行中,按与键绑定相关联的组合键
    executecurrent语句
    (默认值
    Ctrl-Enter
  • 从文件编辑器窗口,将插入符号放入表单中,按与键绑定相关联的组合键
    将顶部表单发送到REPL
    (默认
    Ctrl-Shift-P
    ,我将其反弹到
    Ctrl-Enter
  • 从REPL命令行,表单将始终在REPL的当前名称空间中进行求值(
    user
    默认)。如果要在另一个命名空间中计算表单,首先必须通过以下方式之一切换到该命名空间:

    • ns
      namespace)命令
    • 按与该键关联的组合键 绑定
      将复制切换到当前文件
      (默认值
      Ctrl-Shift-N
    但是,当您从文件编辑器发送表单时,它可以从文件本身推断出希望在哪个命名空间中执行表单。在背景下,它将:

  • 将活动的REPL命名空间切换到文件命名空间
  • 在REPL中评估所选表单
  • 切换回以前活动的REPL命名空间 这样,您就不必在REPL中切换名称空间,而且名称空间混淆的可能性也大大降低

    但是,只有在REPL名称空间中的设置
    Evaluate forms
    未选中时,才会执行此操作。如果不是,它将在当前REPL名称空间中计算表单,就像您通过REPL命令行输入表单一样,需要手动切换名称空间。

    什么是“与“将顶部表单发送给REPL”关联的按键”?我不明白你的答案。我想从REPL命令行发送命令。我希望在运行REPL后,操作“将REPL NS切换到当前文件”和“在REPL中加载文件”将自动进行。您希望向REPL发送命令,但这不必从REPL命令行执行,也可以从源代码编辑器窗口执行。