Java-режим Emacs: малабар, джди или эклим? - PullRequest
36 голосов
/ 11 января 2011

Я хочу использовать emacs для кодирования Java, но я не уверен, какой режим использовать для кодирования Java. Есть jdee, который кажется идеальным; малабар, который, как говорят, лучше разбирается в конструкциях java 1.5, чем jdee; и emacs-eclim, который является затмением для emacs. Есть также множество расширений для emacs, и я также не знаю, какой из них использовать. На самом деле, я так растерялся, что отложил использование любого из них, пока не получу рекомендации.

Какая на данный момент лучшая опция для java-mode + завершение в emacs? И если я когда-нибудь решу использовать комбинацию из того, что я упомянул выше, произойдут ли конфликты?

Ответы [ 3 ]

17 голосов
/ 20 января 2011

Для тех, кто привык к силе манипулирования текстом в Emacs, Eclipse может показаться педалями велосипеда одной ногой.Плагин Emacs + из http://www.mulgasoft.com/ отлично подходит для получения привязок клавиш Emacs в Eclipse.

Я часто использую Eclipse и Emacs, но если бы я занимался только разработкой Java, я мог бы использовать только Eclipse с Emacs +.Требуется некоторая работа, чтобы включить многие функции Eclipse в Emacs.

Мой совет - использовать Emacs> = 23. Если вы работаете на Mac, посмотрите на AquaMacs .Я использую JDEE в качестве плагина Java.Это имеет серьезный недостаток - не очень хорошо играть с дженериками.Дело не в том, что оно перестает работать, просто многое не распознается.Не используйте старый плагин 2.3.5 JDEE (который поставляется с большинством дистрибутивов Linux), но получите версию 2.4 с сайта sourceforge .Также получите Emacs Code Browser (ECB);это плагин, который даст вам такие вещи, как Project Explorer и Outline в Eclipse (другие разработчики будут смотреть на это и не верят вам, когда говорят им, что это Emacs).Я использовал эту настройку для коммерческих проектов на Windows, Mac и Linux в прошлом году.

На самом деле Eclipse очень хорошо работает с Emacs, и я часто переключаюсь между ними.Eclipse имеет несколько хороших инструментов рефакторинга, для которых я использовал sed, и имеет хороший интерфейс отладчика.Вы можете использовать их одновременно.Я обнаружил, что использую Eclipse при работе с чужим кодом и Emacs, когда пишу свой собственный код - Emacs намного быстрее.Обратите внимание, что для меня большая ценность Emacs - это не-Java-функциональность, например, редактирование файлов конфигурации Tomcat на удаленных серверах из моего локального Emacs, написание профессиональных документов с помощью LaTeX, разработка на Python или Bash или MATLAB или XML инечетная задача обработки текста (например, преобразование файлов CVS в массивы String []).

Я не использовал два других упомянутых вами проекта.Уже возможно использовать компилятор Eclipse с Emacs, поэтому я не уверен, что вижу смысл проекта emacs-eclim, который в любом случае кажется умирающим.Проект Malabar может быть интересным, но, похоже, является продуктом одного несколько капризного разработчика (например, предупреждение «если вы не используете Maven (почему?), Вы не должны рассматривать режим malabar» -- Я скажу своим клиентам об этом?).

Java в Emacs находится в печальном состоянии.Я хочу, чтобы JDEE был оживлен, но не ясно, когда или если это произойдет.Веб-сайт и список рассылки предлагают несколько подсказок.

14 голосов
/ 10 февраля 2012

Я использую emacs-eclim с поддержкой режима автозаполнения и подсветкой java-режима исключительно для программирования на Java. 90% моей работы выполняется в emacs, но я переключаюсь на eclipse, когда мне нужно отладить, запустить модульные тесты или провести рефакторинг. В целом, эта установка работает очень хорошо для меня.

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

Примечание: я поддерживаю emacs-eclim, и это, вероятно, изменило мое мнение.

7 голосов
/ 27 сентября 2011

Если вы используете Maven, то я бы порекомендовал malabar-mode. Он настроит все для вас автоматически, не нужно редактировать файлы проекта, как вы бы делали с JDEE. Недостатком, который я обнаружил в malabar, является то, что он может потреблять много памяти, если у вас открыто много проектов многоуровневых модулей.

И Малабар, и JDEE дадут вам «истинное» завершение, то есть только возможные завершения. Тем не менее, в Emacs есть две удивительные "системы интеллектуального завершения угадывания". хиппи-расширить и автоматически завершить.

Первый великолепен (может выполнять для вас целые блоки кода, позволяя, например, циклически проходить все if-тесты в ваших проектах), но режим автозаполнения еще лучше. Он предоставит вам хорошее интеллигентное меню стилей, будет «изучать», как вы его используете, и позволит вам определить файл с дополнениями, которые вы хотели бы иметь на разных языках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...