Saturday, May 22, 2010

Leksah - навигация по коду

Так уж случилось, что более 5 лет я использую eclipse. Без чего не мыслю процесс разработки (может быть это неправильно), так это без возможности навигироваться по исходному коду используемых библиотек. EclipseFP с поддержкой Хаскеля пока (на мой взгляд) оставляет желать лучшего, и возможности навигации по коду там практически нет (когда кликаешь на вызов функции и переходишь на ее определение). Где-то год назад пытался использовать Leksah, но он тогда был еще совсем молодой (0.4, 0,5?), - видно было, что потенциал в нем есть, но еще не готов он к использованию.

И вот совсем недавно вышел Leksah 0.8. Пробежав глазами по его мануалу стало понятно, что навигацию по исходникам он теперь поддерживает. Запустив новую версию, обнаружил что Leksah не хочет показывать исходники установленных пакетов.

Методом проб и ошибок у меня все-таки получилось подружить Leksah и исходники. При первом запуске Leksah выдает следующий диалог:
Есть тут настройка для директории в которую распаковываются пакеты. В мануале написано, что Leksah будет запускать "cabal unpack [package]" для пакетов, исходники которых он не нашел. Оказалось, что это не так (или у меня руки кривые). В общем, мне пришлось ручками запустить "cabal unpack [package]" для всех пакетов (указав, конечно в качестве папки для распаковывания папку из настроек Leksah). После того как исходники распакованы, запускаем rebuild конфигурации (Configuration -> Rebuild System data). И теперь в браузере модулей возле модулей видны значки "есть исходный код".

Навигироваться по исходникам (кликаем на символ, перепрыгиваем на определение) у меня получилось тоже не сразу. Оказалось, что это работает только если есть хотя бы один workspace. Переход в Leksah - ctrl + double click -> искомый символ находится и выделяется в браузере. Потом там нажимаем Source - переходим на определение.

В общем, несмотря на эти небольшие мучения с настройкой и ручной распаковкой исходников, впечатления от Leksah пока самые приятные.

1 comment:

  1. По-видимому, это проблема (что нужно руками распаковывать исходники) только для Mac:
    http://groups.google.com/group/leksah/browse_thread/thread/9623dd8608eb5e7f

    ReplyDelete