gpt4 book ai didi

emacs - 如何在苹果酒模式下清除 REPL?

转载 作者:行者123 更新时间:2023-12-04 04:49:58 26 4
gpt4 key购买 nike

我的意思不是清理 REPL 的文本输出;我的意思是清理所有 评价 结果在 REPL。开发过程中,反复C-c C-qC-c M-j是效率低。

更新

我的可能有一些不好的调试行为。我不确定其他人如何使用 CIDER 开发程序,但我确实需要上述功能。我猜其他开发人员也遇到了和我一样的问题。

例如,在 clojure prog 单元的顶部,我使用 declare声明一个函数 foo , 被另一个函数 bar 使用, 和 foobar 之后实现.然后,我 C-c C-k等,并且编进展顺利。后来我去掉了foo的前置声明偶尔。会发生什么?编还是很顺利的。 真的 ?然后,我提交了我的全部工作并愉快地终止了 CIDER REPL session 。

早上的灾难:符号foo未找到!

这就是我的故事。那么,没有人遇到过类似的问题吗?

最佳答案

试试 (refresh) clojure.tools.namespace.repl 中的函数命名空间:

The refresh function will scan all the directories on the classpath for Clojure source files, read their ns declarations, build a graph of their dependencies, and load them in dependency order.



https://github.com/clojure/tools.namespace#reloading-code-usage

它似乎没有删除 user 中声明的变量命名空间,我已经输入到 REPL 中,但它确实:

...unload (remove) the namespaces that changed to clear out any old definitions.



我们通常会在 user 中添加一些其他有用的东西。命名空间,因此它在启动时加载到 REPL 中:
(ns user
(:require [clojure.tools.namespace.repl :refer [refresh]]
[clojure.repl :refer [doc source]]
[clojure.pprint :refer [pprint pp]]
[midje.repl :as midje]
[clojure.stacktrace :as st]))

为了使该代码与您的主要和测试源分开,请将其放在 <project root>/dev/user.clj 的文件中。 ,然后将以下内容添加到您的 lein project.clj文件:
:profiles {:dev {:source-paths ["dev"]}}

(ps,虽然这不是你想要回答的问题,但对于那些看到这个答案并想清除苹果酒 REPL 中的文本的人来说,它是 C-c M-o( https://github.com/clojure-emacs/cider)

关于emacs - 如何在苹果酒模式下清除 REPL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28371102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com