![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Shurr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 24.10.2006 Репутация: нет Всего: 7 |
Подскажите, как организовать единое автоматическое форматирование кода, когда в команде используются две IDE: Eclipse и IDEA? В качестве VCS используется SVN.
SVN-сервер удаленный, и для дополнительного конфигурирования недоступен. Вариант "вручную нарисовать одинаковые конфиги для обоих форматтеров" если и реализуем (учитывая фирменные фишки и плюшки каждого из форматтеров) - все равно не очень интересен. Хотя если где-то есть уже готовые синхронизированные конфиги - возможен. Это сообщение отредактировал(а) Shurr - 15.11.2009, 16:06 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 15 Всего: 538 |
Ну можно подумать что, форматирование это какой-то rocket science, отступы и расстановка скобок дают 90% форматирования.
Если хотите синхронные code convention, то ищите Sun Java coding convention. У IDEA по умолчанию именно они и используются. Для Eclipse тоже думаю, не проблема найти. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
Shurr, есть конфигурационные файлы, для Затмения - необходимо написать xml файл и загрузить его в IDE. (Этот xml единый можно разослать всем участникам команды по скайп/аське, имейлу) И после нажатий Ctrl + A => Ctrl + Alt + F весь файл станет одинаково отформатирован как у всех остальных. Для IDEA вроде xml нельзя подгрузить, но можно сделать принтскрин своих настроек и отослать всем.
По умолчанию в обоих IDE форматирование настроено под Code Conventions for the Java Programming Language от 1999 20 Апреля. Других путей не вижу ![]() |
|||
|
||||
Shurr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 24.10.2006 Репутация: нет Всего: 7 |
Samotnik,
Я об этом и писал:
LSD, В принципе, конечно, не rocket science, но здесь вся суть в мелочах. Т.е. если два форматтера работают чуть-чуть по разному, то при изменении класса в другой IDE появляются мелкие мусорные правки, которые не имеют отношения к логике внесенных разработчиком изменений. В данный момент ситуация выглядит так, что даже конфигурации заточенные под Sun Java coding convention разные форматтеры понимают немного по-разному. Т.е. не так, чтобы различия проявлялись в каждом классе, но в масштабах проекта хватает. Поэтому, собственно, и хотелось услышать альтернативные варианты. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 15 Всего: 538 |
1. Зачем при внесении изменений, разработчику переформатировать весь класс?
2. Они так и так будут, т.к. есть некоторые виды форматирования которые специфичны для каждой IDE. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: нет Всего: 8 |
даааааааааа.. он так будет отформатирован, что будешь форматировать заного свой код. пс: кодовое слово: 1). строка больше чем 80 или 120 символов не форматируется коректно 2). параметры с анотациями прерываются не там где надо и тут ещё с десяток похожих трабл. ----------- мы решили пока эту траблу тем, что залили в репозиторий некий конфиг еклипса + описали установки в вики; для тех, кто работает с IDEA написали тоже форматтер. для остальных случаев мы применяем PMD + CheckStyle. на CheckStyle народ забивает и приходится постоянно всех пинать. PMD же жёско не собирает проект, пока не будет что-то исправлено. конечно, его можно отключить, но тут уже начинаются "угрозы" со стороны товарищей, которые уже сами пинают или поправляют код, если кто-то залил не по установкам. я планирую на будущее ввести "Ява 5" в PMD, если это возможно, а также прикрутить жёско CheckStyle и поставить границы после которых код собираться, как и PMD не будет. форматирование - это ещё только первая трабла. PMD показывает на следующие существующие угрозы в проекте. |
|||
|
||||
Shurr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 24.10.2006 Репутация: нет Всего: 7 |
1. По идее для поддержания единого стиля у всех должно быть включено автоматическое форматирование, поэтому при сохранении класса он будет переформатирован вне зависимости от желания разработчика. 2. Для примера - есть Jindent, который подключается в качестве плагина и к Eclipse, и к IDEA; вроде обещают одинаковое форматирование. Но он, к сожалению, платный. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
странно .... Мы на прошлом проекте, насторили IDEA для форматирования, и такоим образом форматили код, в котором было под 1000 строк кода в файлах. и ниразу такого небыло. Заказчики были очень придирчивы к оформлению, и ниразу от них жалоб не поступало ... |
|||
|
||||
Shurr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 24.10.2006 Репутация: нет Всего: 7 |
Вопрос решен применением плагина "External Code Formatter" в IDEA. Плагин подерживает любой command-line форматтер, в т.ч. от Eclipse.
Прелесть этого плагина в том, что он, в отличие от других плагинов-форматтеров, заменяет собой родной форматтер IDEA, а не просто добавляет новый action. Соответственно, при установленной галке "Reformat Code" в диалоге коммита происходит форматирование именно внешним форматтером, что и требовалось. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |