2024年Clojure状态调查!分享您的想法。

欢迎!请查看关于页面以获取更多关于此如何工作的信息。

0
手册

当使用Cider时,C-c C-d C-d显示指定功能的文档。文档底部应该有一个“也看看”部分,列出相关功能(例如,“doseq”指向“for”)。然而,它某种消失了。我是否不小心关闭了它?我该如何恢复它?

顺便问一下,“相关功能”信息是从哪里来的?它没有写在文档字符串中...

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](http://clojurians.net/)的#cider频道中有很多热心人士,他们可能会在你无法将CIDER恢复到所需状态时帮助你调试。


编辑了
在对cider/orchard进行了一些修改后,我发现:netlify,cider下载信息的所在地在中国(我所在的地方)不是稳定的。我可能在某段时间内损坏了本地缓存,而cider无法从ClojureDocs检索信息。我的“解决方案”是使用VPN手动下载信息并更新本地缓存。
0

试一下C-c C-d C-c,它将显示clojuredocs.org的文档。

我认为Cider在其常规文档中从不包含“也参见”部分,因为你所说的一样,那只是使用了doc字符串。

尽管如此,它曾与Grimoire集成,并且可能是从那里获取相关的函数。不过,那个网站现在已经消失了。

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

...