如何在 Emacs 中正确配置 CIDER 的代码补全?
How to properly configure CIDER's code completion in Emacs?
我已经将 CIDER 安装到我的基本 Emacs 中,当我在 cider-mode
(也在 clojure-mode
)时,我尝试使用 M-TAB 完成代码我得到
Not an nREPL dict object: %
其中 %
是任意函数。例如,如果我尝试在这一行中为 map
完成代码:
(ma
我在 Messages 缓冲区中看到以下内容:
completion--some: Not an nREPL dict object: map
我在我的 Emacs 中做了一个 tabula rasa,所以我的 init.el
看起来像这样:
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/") t)
(add-to-list 'package-archives
'("tromey" . "http://tromey.com/elpa/") t)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
(defvar my-packages
'(paredit
clojure-mode
clojure-mode-extra-font-locking
cider))
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p)))
我观察到一件有趣的事。当我执行 cider-jack-in
时,我连接到 nREPL 并且在 REPL 缓冲区中我看到以下内容:
WARNING: CIDER's version (0.13.0-snapshot) does not match cider-nrepl's version (nil). Things will break!
我做错了什么?我无法让 CIDER 的代码完成工作。即使使用简单的 M-TAB 选项也无法正常工作。
我正在使用 Emacs 24.3.1。
这正是问题所在:
WARNING: CIDER's version (0.13.0-snapshot) does not match cider-nrepl's version (nil). Things will break!
Cider 由两部分组成,有emacs 包(CIDER) 和clojure 部分cider-nrepl。第二个是使用中间件来 clojure n(etwork)-repl
由于苹果酒的开发进展迅速,因此两个版本必须匹配。
(而且你应该始终使用最新版本,你现在正在做什么:))
您可能想将此添加到您的 project.clj 订单 profiles.clj
:plugins [[cider/cider-nrepl "0.13.0-SNAPSHOT"]]
https://cider.readthedocs.io/en/latest/ 上还有很多文档
在 github 回购
https://github.com/clojure-emacs/cider
我已经将 CIDER 安装到我的基本 Emacs 中,当我在 cider-mode
(也在 clojure-mode
)时,我尝试使用 M-TAB 完成代码我得到
Not an nREPL dict object: %
其中 %
是任意函数。例如,如果我尝试在这一行中为 map
完成代码:
(ma
我在 Messages 缓冲区中看到以下内容:
completion--some: Not an nREPL dict object: map
我在我的 Emacs 中做了一个 tabula rasa,所以我的 init.el
看起来像这样:
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/") t)
(add-to-list 'package-archives
'("tromey" . "http://tromey.com/elpa/") t)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
(defvar my-packages
'(paredit
clojure-mode
clojure-mode-extra-font-locking
cider))
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p)))
我观察到一件有趣的事。当我执行 cider-jack-in
时,我连接到 nREPL 并且在 REPL 缓冲区中我看到以下内容:
WARNING: CIDER's version (0.13.0-snapshot) does not match cider-nrepl's version (nil). Things will break!
我做错了什么?我无法让 CIDER 的代码完成工作。即使使用简单的 M-TAB 选项也无法正常工作。
我正在使用 Emacs 24.3.1。
这正是问题所在:
WARNING: CIDER's version (0.13.0-snapshot) does not match cider-nrepl's version (nil). Things will break!
Cider 由两部分组成,有emacs 包(CIDER) 和clojure 部分cider-nrepl。第二个是使用中间件来 clojure n(etwork)-repl
由于苹果酒的开发进展迅速,因此两个版本必须匹配。 (而且你应该始终使用最新版本,你现在正在做什么:))
您可能想将此添加到您的 project.clj 订单 profiles.clj
:plugins [[cider/cider-nrepl "0.13.0-SNAPSHOT"]]
https://cider.readthedocs.io/en/latest/ 上还有很多文档 在 github 回购 https://github.com/clojure-emacs/cider