Подтвердить что ты не робот

Режим автозаполнения Emacs для Groovy?

Существует ли Groovy совместимый автозаполненный режим для emacs?

Мне также не удалось найти словарь ключевых слов, который я могу использовать с emacs autocomplete.

Помощь будет высоко оценена.

4b9b3361

Ответ 1

AFAIK нет рабочего (интеллектуального) автозаполнения для Groovy. Если вы склонны к небольшому взлому, самым простым способом добиться этого будет изменение emacs-eclim (пакет Emacs для общения с Eclipse ) для работы с плагином Eclipse Groovy. Не должно быть так плохо, поскольку существует существующий код для работы с Eclipse Java, который можно использовать в качестве леса.

HTH и извините: (

Ответ 2

Я "взломал" оба emacs-eclim и Eclim, чтобы получить завершение кода, а не красиво или полнофункционально, достаточно хорошо для нескольких часов работы.

1. Примечания

  • Кодовое завершение поддерживается, но оно медленное с автоматическим полным режимом, особенно когда завершение запускается автоматически. Я использую TAB для запуска всплывающего окна автозаполнения и ALT-TAB для буфера завершения, если я просматриваю все возможные доработки.
  • Исходное обновление для отчетов о проблемах поддерживается, но не полностью точно. Когда вы сохраняете буфер, выполняется инкрементная сборка и появляется отчет об ошибках (проблемы с помощью C-c C-e o.

Если вы используете автозаполнение, установите следующее:

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

2. Установка

3. Пример конфигурации Emacs через use-package и ELPA.

Если вы не используете use-package, при необходимости приспособитесь...

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