← All posts tagged Eclipse

Есть 5 проектов:
1) core, custom — не-андроидные
2) corelib, customlib — андроидные библиотеки
3) app — собственно, приложение
Между ними такие зависимости:
custom -> core
corelib -> core
customlib -> corelib, custom
app -> customlib
Чтобы заставить эклипс нормально собирать приложение, пришлось прикручивать ант-билдер к customlib, который из его джарника выдирает файлы core :(

Недавно открыл для себя новый способ ставить эклипс. Вместо того, чтобы качать упакованный билд с разным трешем типа Mylyn и CVS, скачиваю чистую платформу и ставлю на нее только то, что мне нужно: download.eclipse.org

Хорошее в Eclipse 3.7/4.1:

M2: download.eclipse.org
+ 'Open With' context menu for textual editors — теперь кликнув правой кнопкой по заголовку можно переоткрыть файл в другом редакторе (например, XML-ку в текстовом).
+ 'Shift' reverses search in Find/Replace dialog — теперь с шифтом меняется направление поиска. Я джва года...
M3: download.eclipse.org
+ Job image overlay in task item — теперь будет видно, когда закончился деплоймент и пришло время на пару минут оторваться от башорга.
+ Multi-drag sash — можно будеть массово ресайзить вьюхи, тягая их за перекрестки. Не критично, но няшно.
M4: download.eclipse.org
+ "Introduce new local with cast type" quick assist — теперь можно будет после проверки на instanceof автоматом сгенерить новую переменную уже скащенную к нужному типу. Весьма полезно для написания процедурного быдлокода.
M5: download.eclipse.org
+ Undo support for breakpoints — мелочь, а приятно. Бывало что случайно удалял брейкпоинт с кропотливо написанным condition-ом.
+ Prompt before deleting conditional breakpoints — аналогично. Респект разработчикам JDT за понимание проблем простого быдлокодера.
+ 'Add missing case statements' quick assist — иногда сэкономит пару нажатий клавиш. Хотя, конечно, switch — антипаттерн (или признак кода под Андроид).
+ Quick Outline shows inherited members for nested type — по Ctrl+O теперь показываются не только типы, а еще и унаследованные от них методы. Пока тяжело представить юзкейсы, но чую что полезно будет.
+ New code formatter option to preserve whitespace — теперь можно заставить эклипс уважать тщательно выравненные // комментарии.
+ Unavoidable generic type problems — будет меньше ругательств при работе с raw типами, неизбежные касты игнорируются.
+ Compiler detects methods that can be static — а вот это уже нехорошо. К счастью, это опция отключена по дефолту.

На stackoverflow бегают толпы хомячков в надежде заработать заветную репутацию экстенсивным способом. Спросил как в эклипсе смотреть лог андроида в консоли, а не в специализированном view LogCat — так мне рассказали, что я могу этот LogCat передвинуть вниз — и будет почти как консоль.

Наблюдаю странные глюки — шрифт меняется с "запаздыванием" на одно изменение. Т.е, если поставить consolas 10, а потом consolas 12 — будет consolas 10. Если потом поставить courier 11 — будет consolas 12. Итд... Очень неприятно. :(

Похоже, что "never join lines" в эклипсе несовместимо с форматированием, когда открывающая скобка ставится на новой строке. Баги лезут, когда анонимный класс инстанцируется как аргумент метода.

В Eclipse использую два алгоритма создания простого присваивающего конструктора в классе.

Первый:
1) вызываю несуществующий конструктор new Dummy(id, name) там, где он нужен;
2) делаю Quick Fix "create costructor" -> создается пустой коструктор;
3) в конструкторе пишу this.id = id; this.name = name;
4) делаю Quick Fix "create field" на каждой из двух строк.

Второй:
1) руками пишу классе два поля id и name;
2) Делаю Alt+Shift+S, O -> создаю конструктор по этим полям.

Ну и потом Alt+Shift+S, R если нужны геттеры/сеттеры :)