对于Common Lisp的人或javadoc样式的文件(Man or javadoc-style

2019-09-18 11:48发布

有没有一种Common Lisp的文档一样的javadoc,男人甚至类似IntelliSense的弹出窗口的? 我刚开始学习Common Lisp的和没有足够的内存手。

我使用Emacs和煤泥 - 它有选项卡完成,但它似乎不是非常丰富。

谢谢!

Answer 1:

以防万一,这个问题本来是要问哪里的参考是 - 有几个Hyperspecs可在网上。 如果谷歌搜索类似“hyperspec函数名”有,你将降落在他们的一个很好的机会。

http://clhs.lisp.se/Front/index.htm

http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/index.html

例如。

根据您的编辑器,通常可以将其配置为太显示它的hyperspec内容。 随着Emacs的泥,你可以做Mx slime-hyperspec-lookup RET symbol-to-look-for

另一个方便的工具是apropos -运行(apropos "substring-in-the-symbol-name")您将得到匹配“子功能于的符号名”,所有的符号列表。

煤泥本身具有良好的自动完成。 可能是什么触发你的是,默认的键可以绑定到的东西,你的系统不分派到Emacs的(如M-TAB),以便将其重新绑定到别的东西,你可以做(​​在你的.emacs文件):

(define-key lisp-mode-map (kbd "C-x .")
  'slime-complete-symbol)
(define-key lisp-mode-map (kbd "C-x /")
  'slime-complete-form)
(define-key lisp-mode-map (kbd "C-x ,")
  'slime-fuzzy-complete-symbol)

此外,Emacs提供一些关于自己的“词汇”完成 - 如果你打M- /这将尝试用相同的后缀来完成这个词来一个字 - 它的工作原理出奇地好,特别是如果你在为long类型变量/函数名:)

此外,泥结合抄送镉Fslime-describe-function-at-point抄送镉dslime-describe-symbol-at-point抄送了Cv dslime-describe-presentation-at-point

此外...这都令人出乎意料给我相当长的一段时间后......如果你按RET而在缓冲区包含错误的堆栈跟踪,点上堆栈项,它会显示里面的局部变量的值的东西在这个堆栈层次的功能。 如果再按RET当点是在任者的变量,它会打开描述该变量的缓冲区。



Answer 2:

看看清单基于包的文档。 请记住,Common Lisp是指作为一个动态系统,并采用可选的文档字符串插槽到每一个声明原始它。 据我所知,获取有关给定函数文档的标准方法是只运行(describe #'function-name-here)在REPL(不含#如果你正在寻找的文件大约一个符号)。

这会给你访问文档字符串,以及参数列表(在方法的情况下,你得到的通用功能的文档的编辑,以及每个具体的方法)。

看看autocomplete-mode ,并可能yasnippet完井。



文章来源: Man or javadoc-style documentation for common lisp