【发布时间】:2014-04-13 18:51:44
【问题描述】:
我从以下资源中了解到:
- http://www.emacswiki.org/emacs/ESSAuto-complete
- http://www.emacswiki.org/emacs/AutoComplete
- Emacs autocomplete-mode extension for ESS and R
- Is it possible to get code completion for R in Emacs ESS similar to what is available in Rstudio?
...在使用 ESS 进行 R 开发时,我应该可以访问 emacs 中自动完成帮助的工具提示。最后一个链接还指定它应该使用最新的 ESS 开箱即用,并且:
从 12.03 版开始,ESS 集成了开箱即用的自动完成功能 包。
三个来源“ac-source-R-args”、“ac-source-R-objects”和 “ac-source-R”包含在 ESS 发行版中。最新的结合 前两个,让他们一起玩得很好。
我知道,一般来说,我的 emacs 工具提示是可能的,因为它们在我的 emacs 中的 python jedi 设置中正确显示。
但是,我的 emacs 自动完成功能不起作用。相反,底部有一个缓冲区:
代替这个,在工作缓冲区上叠加帮助:
我的 init.el 中有以下内容:
(require 'auto-complete)
(setq ess-use-auto-complete t)
(ess-toggle-underscore nil)
我有以下版本:
ess 20131207.1141 installed No description available.
ess-R-data-view 20130509.458 installed Data viewer for GNU R
ess-R-object-popup 20130302.336 installed popup description of R object
auto-complete 20140208.653 installed Auto Completion for GNU Emacs
我错过了什么?
更新 1
这是我对 ESS 的初始化。这会在缓冲区中生成完成,但不会在工具提示中生成,其中添加了手册中的一些配置选项。 (我现在已经尝试了评论的所有排列,而不是评论所有这些):
(require 'auto-complete)
(global-auto-complete-mode)
(require 'auto-complete-config)
(ac-config-default)
(require 'ess-site)
(setq ess-use-auto-complete t)
(setq ac-auto-start 2)
(setq ac-auto-show-menu 0.2)
(ess-toggle-underscore nil)
更新 2
类似的问题here,但提出了相同的解决方案,但实际上并没有在我的设置中产生工具提示。但它向我暗示这可能是一个平台问题?那里的海报也像我一样在 Ubuntu 12.04 上——是否有可能为 VitoshKa、Alex Vorobiev 和 Iqbal Ansari 工作的解决方案在不同的平台上?你们用的是 OS X 吗?
更新 3
也许其他诊断:
ac-source-R is a variable defined in `ess-r-d.el'.
Its value is ((prefix . ess-ac-start)
(candidates . ess-ac-candidates)
(document . ess-ac-help))
Documentation:
Combined ad-completion source for R function arguments and R objects
ac-source-R-objects is a variable defined in `ess-r-d.el'.
Its value is ((prefix . ess-symbol-start)
(candidates . ess-ac-objects)
(document . ess-ac-help-object))
Documentation:
Auto-completion source for R objects
ac-source-R-args is a variable defined in `ess-r-d.el'.
Its value is ((prefix . ess-ac-start-args)
(candidates . ess-ac-args)
(document . ess-ac-help-arg))
Documentation:
Auto-completion source for R function arguments
[back]
ess-ac[TAB] 的变量只有...
Click <mouse-2> on a completion to select it.
In this buffer, type RET to select the completion near point.
Possible completions are:
ess-ac-R-argument-suffix
ess-ac-sources
所以问题可能是我的 ESS 安装缺少上面定义的所有 ess-ac-* 内容,例如 ess-ac-args 等?
【问题讨论】:
-
我希望我也知道。我也尝试过设置此设置,但从未成功。
-
我能够完成函数参数。
ac-auto-start的值是多少?也可以尝试按C-M-i。 -
M-x describe-variableac-auto-start说:ac-auto-start's value is 2 Documentation: Non-nil means completion will be started automatically. -
C-M-i 好像没有效果。
-
@Mittenchops 我猜所以请耐心等待。在
write.table(输入fi后它会自动完成吗,也可以尝试按C-M-i至少应该发生一些事情,我得到了完成