簡體   English   中英

Emacs在工具提示而不是緩沖區中自動完成ESS

[英]Emacs auto-complete for ESS in tooltip instead of buffer

我從以下資源中了解到:

...在使用ESS for R開發時,我應該可以訪問工具提示以獲取emacs中的自動完成幫助。 最后一個鏈接另外指定它應該與最新的ESS一起開箱即用,並且:

從版本12.03開始,ESS開箱即用,具有自動完整包。

ESS分布中包括三個來源'ac-source-R-args','ac-source-R-objects'和'ac-source-R'。 最新的結合前兩個,使他們很好地一起玩。

我知道,一般來說,我的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

類似的問題在這里 ,但建議相同的解決方案實際上沒有導致我的設置工具提示。 但它告訴我這可能是一個平台問題? 那張海報也出現在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等?

我的自動完成配置也有

(require 'auto-complete-config)
(ac-config-default)

之后設置ess-use-auto-complete使ESS顯示彈出菜單。

因此,根據您的意見,結果是您的emacs配置中未啟用auto-complete功能。 因此,只需在init文件中添加類似的內容即可啟用auto-complete

(load "auto-complete")
(global-auto-complete-mode)

同樣對於ESS,你將需要設置ess-use-auto-completet像下面會做

(setq ess-use-auto-complete t)

編輯 :默認情況下, ess-use-auto-complete設置為t因此不需要執行此步驟。

此外,由於您發現此選項令人困惑,我建議您在github repo上打開一個問題,以便維護人員可以改進文檔(或代碼),以減少混淆。

自動完成有很多配置選項,當你有時間時,請閱讀手冊

很高興我能幫上忙

不要將eldoc與自動完成混淆。 Eldoc就是你的截圖中的內容,它顯示了函數的所有參數,而不是侵入性的。 當您開始輸入內容時會彈出自動完成功能,並在ac-auto-start字符后激活。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM