2012-04-04 89 views

回答

3

AFAIK没有为Groovy工作(智能)自动完成。如果您倾向于进行一些黑客攻击,那么最简单的方法就是修改emacs-eclim(与Eclipse交谈的Emacs包)以与Eclipse Groovy plugin一起使用。不应该那么糟糕,因为现有的可以用作脚手架的Eclipse Java代码。

HTH和遗憾:(

3

我已经“黑客”都emacs-eclimEclim得到代码完成,工作几个小时不漂亮或功能完善,不够好。

1注

  • 代码完成是支持的,但它是缓慢的具有自动完成模式有时,特别是在完成触发自动售货机ically。我使用TAB来启动自动完成功能弹出窗口和ALT-TAB用于完成缓冲区,如果我查找所有可能的完成项。
  • 支持更新问题报告的源,但不完全准确。正如你节省如果使用自动完成缓冲区进行增量构建和错误报告工具(通过抄送铈问题Ø

,设置如下:

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

2 。安装

3.样品的Emacs通过use-package和ELPA配置。

如果不使用用包,需要适应......

(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)))))