我从以下资源中了解到:
...在使用ESS for 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
等?
答案 0 :(得分:2)
我的自动完成配置也有
(require 'auto-complete-config)
(ac-config-default)
在该设置之后ess-use-auto-complete
使ESS显示弹出菜单。
答案 1 :(得分:2)
根据您的评论,结果是您的emacs配置中未启用auto-complete
。因此,只需在初始文件中添加类似的内容即可启用auto-complete
(load "auto-complete")
(global-auto-complete-mode)
同样对于ESS,您需要将ess-use-auto-complete
设置为t
,例如以下内容
(setq ess-use-auto-complete t)
编辑:ess-use-auto-complete
默认设置为t
,因此不需要此步骤。
此外,由于您发现此选项令人困惑,我建议您在github repo上打开一个问题,以便维护人员可以改进文档(或代码),以减少混淆。
自动完成有很多配置选项,当你有时间时,请阅读manual。
很高兴我能帮忙
答案 2 :(得分:1)
不要将eldoc
与自动完成混淆。 Eldoc就是你的截图中的内容,它显示了函数的所有参数,而不是侵入性的。当您开始输入内容并在ac-auto-start
个字符后激活时,会弹出自动完成功能。