命名空间中的 IntelliJ(草书)REPL 评估
IntelliJ (Cursive) REPL evaluation in namespace
我使用 IntelliJ 来编写 Clojure。我使用内置的 REPL 来 运行 我的代码。我不知道为什么,但是在我 运行 我的项目之后,我总是必须执行“将 REPL NS 切换到当前文件”,然后 "Load file in REPL" 才能将 REPL 用于主命名空间。我想问一下是否有办法避免这些点击并在 运行 结束后立即使用 REPL。
在 Cursive 中,有两种方式可以将表单发送到当前激活的 REPL:
- 从 REPL 底部的 REPL 命令行 window,按下与键绑定关联的组合键
Execute Current Statement
(默认 Ctrl-Enter
)
- 从文件编辑器 window 中,将插入符放入表格中,按下与键绑定关联的组合键
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命令行输入它一样,需要手动切换命名空间。
我使用 IntelliJ 来编写 Clojure。我使用内置的 REPL 来 运行 我的代码。我不知道为什么,但是在我 运行 我的项目之后,我总是必须执行“将 REPL NS 切换到当前文件”,然后 "Load file in REPL" 才能将 REPL 用于主命名空间。我想问一下是否有办法避免这些点击并在 运行 结束后立即使用 REPL。
在 Cursive 中,有两种方式可以将表单发送到当前激活的 REPL:
- 从 REPL 底部的 REPL 命令行 window,按下与键绑定关联的组合键
Execute Current Statement
(默认Ctrl-Enter
) - 从文件编辑器 window 中,将插入符放入表格中,按下与键绑定关联的组合键
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命令行输入它一样,需要手动切换命名空间。