作为标题,我使用spacemacs并添加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帮助我自动完成,或者还有其他途径可以实现我的目标。
谢谢。
答案 0 :(得分:1)
对于刚接触此知识的人来说,可能需要意识到一些重要的观点。我会尝试指出它们。 这里的所有内容都适用于大多数未配置的Spacemacs,其中Clojure和自动完成图层处于活动状态。
请记住:
您可以使用Cider评估命令来执行此操作,该命令可通过Spacemacs中的键<leader>-m-e
找到。我所说的主要适用于这种互动方式。
load
的处理更多现在是一个问题:
cider-jack-in
进入新的REPL时,将评估没有“编辑窗口”或“缓冲区”中的ns-声明-您位于user
-ns :as
)的东西。进行了一段时间的评估,或者更可能是loaded
(不需要)cider-eval-sexp-at-point
时,将评估缓冲区中的名称空间声明,这通常会触发一些需求(尽管不会评估整个缓冲区)您可能会遇到问题,因为评估ns
-requires的方法有些怪异,这似乎与Emacs的某些Buffer中是否打开了所需的ns
有关。我不确定这是正确的解释,但在我看来
ns
-1,则评估ns
-2
:refer
是您的ns
-1,仅评估引用的ns-form,而不会评估
缓冲:refer
ed ns,则ns及其中的所有形式
文件已加载因此,有时有必要“手动”评估您在ns
中引用的所有表格,以便可以解决要求。您可以使用cider-evaluate-buffer
进行此操作,或以其他方式加载ns。
答案 1 :(得分:0)
当您require
依赖项时,请给它一个这样的名称:
(ns example.core
(:require [com.ok.my-library :as library])
... )
然后在您输入的代码中输入
library/
spacemacs / emacs将创建该名称空间提供的名称的下拉列表。添加:as name-here
通常也有助于其他人稍后浏览您的代码。
如果您的emacs没有填充该列表,那将是一个独立于此列表的问题(都需要解决)。