作为第一步,我使用空间地图并添加clojure层。我在project.clj中添加了一个依赖项,但是它不能自动完成函数。
以下是我的一些配置:
dotspacemacs-configuration-layers
'(
(auto-completion :variables
auto-completion-enable-help-tooltip t
auto-completion-enable-snippets-in-popup t
auto-completion-enable-sort-by-usage t)
better-defaults
emacs-lisp
(git :variables
git-magit-status-fullscreen t
git-enable-github-support t
git-gutter-use-fringe t)
github
markdown
org
syntax-checking
version-control
clojure
)当我导入一个依赖项时,我不知道它提供了哪些功能,所以我希望emacs帮助我完成自动化,或者还有其他方法来实现我的目标。
谢谢。
发布于 2018-07-02 22:00:52
当您require一个依赖项时,请给它一个如下的名称:
(ns example.core
(:require [com.ok.my-library :as library])
... )然后在您的代码中键入
library/spacemacs/emacs将创建名称空间提供的名称的下拉列表。添加:as name-here通常也有助于其他人研究您的代码。
如果您的emacs没有填充该列表,那么这将是一个独立于此的问题(两者都需要解决)。
发布于 2019-11-27 17:05:16
对于对这方面相当陌生的人来说,这里可能有一些重要的要点需要认识到。我试着把他们指出来。这里的所有内容都适用于主要是未配置的Spacemacs,其中的clojure层和自动完成层处于活动状态。
请记住:
您可以通过在Spacemacs中通过键<leader>-m-e找到的Cider计算命令来实现这一点。我说的话主要适用于这种互动方式。
load-而不是ns-需求有关。关于这个问题:
cider-jack-in放入新的REPL时,在没有编辑窗口或缓冲区中的ns-声明将被计算-您在user-ns中。:as一起)声明的所有内容,这些声明在某个时候已经被评估过,或者更可能的是,loaded (不需要)。cider-eval-sexp-at-point (例如)时,将计算缓冲区中的命名空间声明,这通常会触发某些需求(但不是计算整个缓冲区)。您可能会遇到问题,因为有一些计算ns-requires的奇怪方法,这些方法似乎与Emacs中某个缓冲区中是否打开了所需的ns连接。我不确定这是正确的解释,但在我看来
ns-1,则计算:refer是ns-1的ns-2,则只计算引用的ns-表单,而不是缓冲区。:refered ns,则会加载文件中的ns和所有窗体。因此,有时有必要“手动”评估在某些ns中引用的所有表单,这样就可以解决所需的问题。您可以使用cider-evaluate-buffer或以其他方式加载ns。
https://stackoverflow.com/questions/51143750
复制相似问题