About Blog PGP Key

All articles, tagged with “eclipse”

Подвисающий PyDev

После достаточно большой паузы, поставил на буке PyDev. Он сразу же подвис на code completion. Раньше такое решалось обновлением, но сейчас pydev последний. Нагуглился тред на sf.net. Достаточно сделать:

echo 0 > /proc/sys/net/ipv6/bindv6only

и перезапустить eclipse. На постоянно в debian это делается в файле /etc/sysctl.d/bindv6only.conf. В debian-devel@ недавно был холивар по этому поводу. Но все равно как-то уныло.

Eclipse SDK

Посмотрел таки на Eclipse SDK. Попробовал нарисовать свой плагин. Дооекстаточно долго пытался вникнуть, что такое “nature” и как его подключать к проекту.

В итоге получилось таки написать тестовый плагин, который добавляет пару команд в popup менюшку проекта и добавляет кастомный Builder.

Всё выглядит вполне удобно. Особенно нормальная отладка кода.

Eclipse CDT

Попробовал поставить себе свежий билд CDT, с номером 6.0.0-I200905061052. На eclipse-java-galileo-M7 оно ставиться не захотело. Ругнулось на какие-то неправильные зависимости. Слил с сайта nightly билд под названием eclipse-SDK-I20090513-2000. С ним всё завелось. Поигрался минут 15. Вроде всё работает, не глючит.

Появилась одна _очень_ удобная фича. Перегруженные операторы у классов теперь подсвечиваются. То есть из кода вида

x = x + 1

видно, перегружен ли operator+() или нет. Всяким VIM-ам до этого, к сожалению, как до неба.

На скрине видно, что в одном из случаев оператор -> перегружен:

Eclipse CDT highlights overloaded operators

К обьявлению оператора, естественно, можно перейти, нажав на операторе F3, ну или тыцнув мышкой с нажатым Ctrl.

Eclipse CDT стал чуть лучше

Он научился нормально переименовывать классы. Если бы еще соответствующие .h и .cpp файлы переименовывал (при условии, что 1 класс/файл), то было бы вообще супер. Mercurial как раз умеет угадывать такие вот переименования.

Еще появилась менюшка Implement method. Оно даже работает и умеет правильно понимать namespace.

Нормального CLI форматировщика кода, не зависящего от IDE, под плюсы я так и не нашел. Одни нормально не понимают отступы Tab-ами, другие не умеют (или плохо умеют) переносить длинные строки. Либо пытаются пытаются выравнивать перенесенные строки пробелами. Хотя Uncrustify с небольшими костылями в виде шелл скрипта с парочкой вызовов sed-а вполне себе удобен.

Mercurial Eclipse

Посмотрел на сабж… Завелось сразу. Умеет в workspace отмечать значками измененные файлы. Плюс достаточно удобно выглядит annotate (aka blame).

Добавлять/удалять файлы все равно удобней руками с помощью команды hg addremove, которая с ключем -s умеет угадывать перемещения файлов.

Eclipse CDT 5.0

Посмотрел я на этот новый релиз. Очень качественно починили Indexer. Он теперь даже нормально кушает Qt-ную кучу #define. На ходу подсвечивает места, которые indexer не может распарсить.

В inline методе класса индексер не видит приватные члены класса:

class Foo {
public:
  void test() { bar_->[тут]; }
private:
   Bar* bar_;
}

В #213561 описано как дебажить проблемы индексера.