2012-04-04 19 views

Respuesta

3

AFAIK no hay autocompletado (inteligente) de trabajo para Groovy. Si tiene tendencia a piratear un poco, la manera más fácil de lograr esto sería modificar emacs-eclim (un paquete de Emacs para hablar con Eclipse) para trabajar con el Eclipse Groovy plugin. No debería ser tan malo, ya que existe un código para trabajar con Eclipse Java que podría usar como andamio.

HTH y lo siento :(

3

He 'hackeado' tanto emacs-eclim y Eclim para conseguir la finalización de código, no es bonito o función completa, lo suficientemente bueno para unas horas de trabajo.

1. Toma nota:

  • finalización de código está soportado, pero es lento con auto-completar en modo a veces, sobre todo cuando se desencadena la finalización autómata icalmente Yo uso TAB para iniciar autocompletar emergente y ALT-TAB para el buffer de terminaciones, si estoy buscando todas las terminaciones posibles.
  • Se admite la actualización de fuente para los problemas que informan que es compatible pero no es del todo exacto. . A medida que se guarda el búfer se realiza una construcción incremental y el informe de errores está disponible (de problemas mediante Cc Ce o

Si se utiliza la función de autocompletar, establecer lo siguiente:

(ac-set-trigger-key "TAB") 
(setq ac-auto-start nil) 

2 . Instalación

3. configuración Emacs de ejemplo a través de use-package y ELPA.

Si no se utiliza el uso-paquete, adaptar según sea necesario ...

(use-package eclim                            
    :ensure emacs-eclim // overwrite ELPA install with my copy                           

    :init (setq help-at-pt-display-when-idle t                      
       eclimd-default-workspace "~/Documents/workspace/"                 
       help-at-pt-timer-delay 0.1)                       

    :config (progn (help-at-pt-set-timer)                       
       (mapC#'require '(eclimd auto-complete-config))                 
       (ac-config-default)                        
       (add-hook 'groovy-mode-hook 'auto-complete-mode)                 
       (require 'ac-emacs-eclim-source)                     
       (ac-emacs-eclim-config)                       

       (defun ers/eclim-run-class()                     
        (interactive)                         
        (beginning-of-buffer)                       
        (search "class ")                        
        (forward-word)                         
        (eclim-run-class))                        

       (bind-keys :map eclim-mode-map                     
          ("C-c C-e l m" . eclim-manage-projects)                
          ("C-c C-e l r" . ers/eclim-run-class)                 
          ("C-c C-e l c" . garbage-collect)                  
          ("C-c C-e l b" . eclim-project-build))                

       (add-hook 'groovy-mode-hook                      
          (lambda()                        
          (remove 'ac-source-clang 'ac-sources)                
          (eclim-mode t)))                      

       (add-hook 'java-mode-hook                      
          (lambda()                        
          (remove 'ac-source-clang 'ac-sources)                
          (eclim-mode t)))))