2024 Clojure调查问卷中分享你的想法!

欢迎!请访问关于页面以获取更多关于它是如何工作的信息。

0
文档

当使用Cider时,C-c C-d C-d 展示了给定函数的文档。文档底端应有一个“另见”部分,列出相关函数(例如,“doseq”指向“for”)。但它 somehow消失了。我是不是不小心关闭了它或其他什么原因?我该如何恢复它?

顺便问一下,那个“相关函数”信息从哪里来的?它不是写在文档字符串中...

2 个答案

+1

被选中
 
最佳答案

运行M-x cider-version显示我正在运行版本0.24.0。我的Cider设置几乎没有修改,因此C-c C-d C-d运行cider-doc。将光标放在例如doseq处执行此操作将弹出一个包含以下内容的缓冲区

clojure.core/doseq
[seq-exprs & body] 
Macro
Added in 1.0
  Repeatedly executes body (presumably for side-effects) with
  bindings and filtering as provided by "for".  Does not retain
  the head of the sequence. Returns nil.

clojure.core/doseq is defined in jar:file:<snipped>/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/core.clj.

 Also see: doall dorun for dotimes run! 

[back]

所以,好消息是,你没有疯!

我已经稍微研究了一下实现方式,看起来cider-doc函数依赖于cider/cider-nrepl的功能,而cider/orchard则反过来依赖于这些功能,从而从ClojureDocs获取see-also信息。

造成这一故障的原因可能有很多,但最可能的情况是一位 CIDER 开发者不小心弄坏了某个功能。

请检查您的 cider 版本,以及正在使用的 cider/cider-nreplnrepl/nrepl 版本。如果其中任何一个版本是 -SNAPSHOT 版本,尝试将其恢复到稳定版本以查看是否解决问题。为了参考,我在使用 CIDER 0.24.0 配置了 cider-jack-in,这意味着我的机器上将拉取 cider/cider-nrepl 0.24.0 和 nrepl/nrepl 0.6.0。

在 Clojurians Slack 的 #cider 频道有许多乐于助人的人,如果您无法使 CIDER 恢复到期望状态,他们可能可以帮助您调试。

by
edited by
在用 cider/orchard 进行了一些修改之后,我发现 netlify(CIDER 下载信息的地方)在中国不稳定,我居住的地方。我可能在某个时候损坏了本地缓存,cider 无法从 ClojureDocs 获取信息。我的“解决方案”是使用 VPN 手动下载信息并更新本地缓存。
0
by

尝试 C-c C-d C-c 它将显示来自 clojuredocs.org 的文档。

我认为 Cider 从来就没有在自带的文档中包含“也参见”的部分,因为就像你说的,那只是使用了 doc 字符串。

尽管如此,它曾经与 Grimoire 集成,也许它是从那里拉取相关函数的。但那个网站现在已经消失了。

现在,它添加了对 clojuredocs.org 文档的支持,并且那些文档有一个用户贡献的“也参见”部分。

...