2 votes

Auto-complétion d'Emacs

Je suis un utilisateur de R, je veux utiliser R dans emacs. Mais, j'ai des difficultés à personnaliser ess dans emacs. J'ai installé les paquets d'autocomplétion et la dernière version de ess dans mon emacs. Mais quand j'exécute r dans emacs, l'auto-complétion ne fonctionne pas bien. Quand je tape app, je suis censé afficher comme l'image dans ( http://www.emacswiki.org/pics/static/ess-ac3 ), mais dans mon emacs, ni l'auto-complétion ni la partie jaune n'apparaissent.

Mon OS : ubuntu 12.04 amd64

mon fichier ~/.emacs

;; Auto-complete
(add-to-list 'load-path "~/.emacs.d/site-lisp")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/site-lisp/ac-dict")
(ac-config-default)
; ess-site
(add-to-list 'load-path "/usr/share/emacs/site-lisp/ess")
(require 'ess-site)
(setq ess-eval-visibly-p nil)
(setq ess-ask-for-ess-directory nil)

1voto

Vince W. Points 1179

J'ai récemment commencé à utiliser ESS sous Windows, et j'ai rencontré le même problème. Je ne connais pas tous les tenants et aboutissants, mais les versions récentes d'ESS suggèrent d'utiliser le mode société plutôt que le mode complétion automatique. Grâce à cette configuration minimale, la complétion automatique semble fonctionner assez bien pour moi sur la configuration suivante :

  • Windows 10 x64
  • R 3.4.3 x64
  • Emacs 25 x64 s'est installé normalement
  • Repo MELPA activé dans init.el
  • package-install [RET] company
  • package-install [RET] ess
  • ouvrir un nouveau fichier R dans un répertoire quelconque
  • M-x company-mode pour permettre company-mode dans le tampon actuel
  • `C-c C-z' pour commencer un processus R inférieur

À ce stade, avec le fichier init.el présenté ci-dessous, la complétion R fonctionne, complétant les appels de fonction et les membres du paquet. Je pense que plus de configuration est nécessaire pour l'adapter à votre goût, mais arriver à ce point m'a pris suffisamment de temps pour le considérer comme un succès.

emacs ess autocomplete

init.el :

(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
                    (not (gnutls-available-p))))
       (proto (if no-ssl "http" "https")))
  (add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
  )
(package-initialize)

;; emacs controlled settings
(custom-set-variables
 '(package-selected-packages (quote (company ess)))
 '(show-paren-mode t)
 '(tool-bar-mode nil))
(custom-set-faces
 '(default ((t (:family "Consolas" :foundry "outline" :slant normal :weight normal :height 113 :width normal)))))

(require 'company)

0voto

Alex Vorobiev Points 2396

L'autocomplétion fonctionne pour moi avec ce paramètre.

(setq ess-use-auto-complete t)

0voto

KenAdams Points 11

J'ai eu le même problème et le code suivant a fonctionné pour moi :

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)  ;load and activate packages, including auto-complete
(ac-config-default)
(setq ess-use-auto-complete 'script-only)
;;if not working, use the following instead of (setq ess-use-auto-complete 'script-only)
;;(global-auto-complete-mode t)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X