Clojure を書くために IntelliJ を使用しています。組み込みの REPL を使用してコードを実行します。理由はわかりませんが、プロジェクトを実行した後、メインの名前空間に REPL を使用するために、常に「REPL NS を現在のファイルに切り替え」、「REPL にファイルをロード」する必要があります。これらのクリックを回避し、実行が終了した直後に REPL を操作する方法があるかどうかを尋ねたいと思います。
1495 次
1 に答える
3
Cursive では、現在アクティブな REPL にフォームを送信する方法が 2 つあります。
- 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 に答える