Eclipse Galileo + PDT + Smarty + Python = незамінний інструментарій WEB-програміста

Eclipse Galileo

Eclipse Galileo

Eclipse – це модульне інтегроване середовище розробки програмного забезпечення (IDE). Воно є найпопулярнішим серед Java, C++, PHP, JavaScript, Python розробників. Сьогодні ми поговоримо про IDE для WEB- програміста, а якщо конкртеніше, то про взаємодію: Eclipse + PDT + Smarty + Python. Я у свій час “пройшов” через багато редакторів: починаючи від простеньких, що лиш підсвічують синтаксис, і закінчуючи  такими “монстрами” як: Eclipse, Zend Studio та NetBeans. З останнім я кілька днів попрацював і чомусь розчарувався, уже точно не пам’ятаю чому. А з Zend Studio “дружив” багато часу, починючи з тих часів, як він тільки почав розроблятися (це версії 2.x і тд.). Але з того часу як з’явився “плагін” для роботи із PHP у Eclipse (Eclipse 3.2 & PDT 0.7) – я назавжди попрощався з Zend Studio. Просто уже тоді було зрозуміло, що платити немає за що, так як Zend Studio якраз і базується на платформі Eclipse. І що саме важливе, що зазвичай для Zend Studio викорстовує старі релізи. А якщо порівнювати функціонал і кількість необхідних плагінів – то Zend Studio “курить в стороні” :-)

Але менше з тим, мабуть, із заголовка Вас більше цікавило PDT + Smarty + Python? Так, так – це можливо! Але для цього прийдеться використовувати останні тестові збірки PDT та DLTK. Це все пов’язано із тим, що незабаром (23 червня 2010 року) має вийти новий реліз Eclipse Helios 3.6. Тому всі розробники уже проектують свої плагіни для сумісності із новими можливостями Helios. DLTK зараз працює над гілкою 2.x, PDT – над 2.2.x, а Smarty для PDT – взагалі майже ніхто не підтримує. Останні зміни були 25 листопада 2009 року, і саме на них чекали більшість шанувальників  Eclipse+PDT, так як тепер SmartyPDT буде працювати із останніми тестовими збірками PDT 2.2.x. Тому, менше слів – за роботу! :)

Увага!!! Матеріали даної публікації застаріли, так як уже існує нова версія Eclipse Helios.

Якщо Вас цікавить інтеграція Eclipse+PDT+Smarty – прошу Вас до нової публікації

  1. Завантажуємо Eclipse із сторінки завантажень. Для PDT+Smarty – я рекомендую завантажувати “Eclipse IDE for C/C++ Developers”. Навіть і якщо Вам С++ не  потрібен, то Ви просто не буде використовувати цю “перспективу” у  Eclipse.  Ви одразу запитаєте: “А чому не “Eclipse IDE for Java EE Developers” чи “Eclipse Classic”? Відповідь проста: для чого нам такий “монстр”, який буде споживати багато пам’яті і ресурсів, а реально нам ті “фічі” (типу RCP) не будуть потрібні? Тобто, якщо Ви Java Developer  і плануєте розробляти плагіни для  Eclipse – то Вам потрібен “Eclipse Classic” чи щось цього типу. Я буду розглядати все на прикладі своєї ОС (Mac OS Snow Leopard 10.6.2 64bit), а Ви вибирайте Eclipse для своєї ОС.
  2. Завантажений архів розпаковуємо. У мене це – eclipse-cpp-galileo-SR1-macosx-cocoa-x86_64.tar.gz. В розпакованій папці запускаємо Eclipse, дальше вказуємо папку, де будуть зберігатися Ваші проекти та налаштування плагінів із Eclipse. Якщо все правильно зробили, то маємо побачити сторінку привітання:

    Eclipse Galileo 3.5 Welcome

    Eclipse Galileo 3.5 Welcome

  3. Ставимо DLTK. Відкриваємо: Help → Install New Software → Add.  У Location вписуємо: http://download.eclipse.org/technology/dltk/updates-dev/2.0/.
    Eclipse Galileo -> Add New Site

    Eclipse Galileo -> Add New Site -> DLTK

    Дальше – “ОК”. Якщо все вірно вписали, то маємо отримати наступний перелік плагінів із DLTK сайту. Нам необхідно відмітити:

    • Dynamic Languages Toolkit Core Frameworks
    • Dynamic Languages Toolkit – Mylyn Integration (детально про сам Mylyn тут ). На цьому етапі він нам потрібен для правильної взаємодії PDT Mylyn  з DLTK Mylyn.
    • Dynamic Languages Toolkit (DLTK) Python IDE.
      Eclipse Galileo DLTK Plugins

      Eclipse Galileo DLTK Plugins

      Дальше – “Next” при двох наступних кроках, а потім погоджуємося із текстом ліцензії і “Finish” . Після успішного встановлення Eclipse попросить у нас перезавантажитися – дозволяємо йому.

  4. Ставимо PDT. Тут є 2 варіанти: або ставити через PDT сайт методом обновлень, як це було із  DLTK,  або інший – ставити останню робочу тестову версію. Якщо Ви не бажаєте приймати участі в тестуванні PDT плагіну, щоб покращити його для всіх, то Вам краще скористатися першим методом, про який я зараз розкажу. А з нічними збірками інші, думаю, розберуться. Якщо будуть запитання  – прошу в коментарі.
    Відкриваємо: Help → Install New Software → Add. У Location вписуємо: http://download.eclipse.org/tools/pdt/updates/2.2/interim/
  5. Eclipse Galileo -> Add New Site -> PDT

    Eclipse Galileo -> Add New Site -> PDT

    Дальше – “ОК”. Якщо все вірно вписали, то маємо отримати наступний перелік плагінів із PDT сайту. Нам необхідно відмітити:

    • PDT Mylyn Feature
    • PHP Development Tools (PDT) Runtime Feature
      Eclipse Galileo PDT Plugins

      Eclipse Galileo PDT Plugins

      Дальше – “Next” при двох наступних кроках, а потім погоджуємося із текстом ліцензії і “Finish” . Після успішного встановлення Eclipse попросить у нас перезавантажитися – дозволяємо йому.

  6. Підготовка встановлення SmartyPDT. А ось тут не так все просто :( Але зараз постараюсь детально все описати. Одразу встановити плагін не вийде, так як у  Eclipse для файлів типу *.tpl, *.htpl вибраний редактор PDT. І поміняти прямо в налаштуваннях  Eclipse це не можливо, так як ці типи  “locked”. Тому єдиний варіант який може вирішити цю проблему – видалити ці типи файлів прямо із встановленого плагіна PDT.
    • Закриваємо Eclipse.
    • Відкриваємо розпаковану папку  Eclipse, звідки Ви його запускали. Переходимо у папку “plugins”. І шукаємо файл org.eclipse.php.core_2.2.0.vXXXXXXXXXXX.jar. XXXXXXX – це версія плагіна, вона може бути у кожного різна, так як PDT часто обновлюється.
    • Робимо дублікат (копіюємо в інше місце) цього файла і змінюємо йому розширення з .jar на .zip. Отриманий ZIP файл розпаковуємо архіватором.
    • Серед розпакованих файлів знаходимо plugin.xml
    • Відкриваємо його для редагування довільним редактором і шукаємо “tpl”. У мене воно було на 53 строці (“file-extensions=”php,php3,php4,php5,phtml,inc,phps,tpl”"), також, див. рисунок нижче. Видаляємо звідти “,tpl” і зберігаємо файл.

      Eclipse Galileo PDT Core Plugin.xml Settings

      Eclipse Galileo PDT Core Plugin.xml Settings

    • Розпаковані файли і відредагований plugin.xml запаковуємо назад у ZIP архів. Змінюємо ім’я та розширення архіва на назву плагіна (як це було вище – org.eclipse.php.core_2.2.0.vXXXXXXXXXXX.jar).
    • Поки нічого не видаляємо: ані org.eclipse.php.core_2.2.0.vXXXXXXXXXXX.jar дублікат, ані розпаковані файли. Адже, якщо щось не запрацює – прийдеться нам повернути оригінальний org.eclipse.php.core_2.2.0.vXXXXXXXXXXX.jar на місце.
    • Заміняємо оригінальний файл org.eclipse.php.core_2.2.0.vXXXXXXXXXXX.jar, що лежить в /eclipse/plugins/ на новий, який ми запакували архіватором.
    • Запускаємо Eclipse з опцією “-clean”:

      Це приклад того, як виконати “clean” операцію для Mac OS X. Для  Window – необхдіно у властивостях “ярлика” прописати “-clean”.  Але якщо у Вас з цим складності – можете не виконувати цей пункт.
  7. Ставимо SmartyPDT. Завантажуємо плагін із http://code.google.com/p/smartypdt/. Під час написання статті найновішою була версія smartypdt-0_9_0.zip. Відкриваємо Eclipse  і переходимо до: Help → Install New Software → Add → Archive. Вибираємо щойно завантажений ZIP архів із SmartyPDT.
    Eclipse Galileo Add SmartyPDT Zip Update

    Eclipse Galileo Add SmartyPDT Zip Update

    Дальше – “OK” . Важливий момент!  SmartyPDT іде як “некатегоризований” плагін, із-за чого, він буде недоступний у Вас у списку плаганів. Тому заберіть відмітку із “Group items by category”. Також необхідно відмітити:

    • Smarty Feature
      Eclipse Galileo SmartyPDT Plugin

      Eclipse Galileo SmartyPDT Plugin

      Дальше – “Next” при двох наступних кроках, а потім погоджуємося із текстом ліцензії і “Finish” . Після успішного встановлення Eclipse попросить у нас перезавантажитися – дозволяємо йому востаннє :).

  8. Кінець. А тепер результати роботи :)
    Eclipse Galileo PDT+Smarty Examples

    Eclipse Galileo PDT+Smarty Examples

    Eclipse Galileo Python Example

    Eclipse Galileo Python Example

Якщо у Вас є запитання – радий буду вислухати :)

7 thoughts on “Eclipse Galileo + PDT + Smarty + Python = незамінний інструментарій WEB-програміста

  1. Олег

    Дякую за статтю! Починаю користуватися eclipse для редагування шаблонів smarty. Перечитав уже багато інформації, але Ваша стаття НАЙКРАЩА! Взнав багато нового.

    Reply
    1. Ivan Kravets Post author

      Будь ласка, і Вам спасибі за відгук. Через місяць має вийти Helios, новий реліз Eclipse. Там уже буде менше “велосипедів”, щоб активувати Smarty. Постараюсь потім описати це все.

      Reply
  2. Roma

    Helios вийшов :-)
    Де обіцяна стаття про смарті без “велосипедів”? ;-)

    Reply
    1. Ivan Kravets Post author

      Роман, спасибі за нагадування! :)

      Нажаль у мене зараз немає часу написати детальної статті про Helios+PDT+Smarty, оскільки весь “погрузився” у процес підготовки дисертації до захисту. Але зараз коротко вкажу, на що слід звернути увагу. Отже:

      • Завантажуємо реліз Helios+PDT з http://www.eclipse.org/pdt/downloads/ – це все рівноцінно пунктам 1-6 з даної публікації.
      • Дальше виконуємо все, починаючи з пункта 7.
      • Після перезавантаженян Eclipse IDE, відкриваємо *.tpl файли через Open with… -> Smarty Editor

      Якщо будуть якісь запитання – радий буду вислухати і допомогти.

      Reply
      1. Павел

        Что то не работает подсветка синтаксиса Smarty в Helios через Open with… -> Smarty Editor

        Reply
        1. Ivan Kravets Post author

          А появився у списку “Open With…” “Smarty Editor”? Якщо так – то у Вас просто збігаютсья кольори HTML з Smarty. окремого налаштування для Smarty по схемі кольорів немає, Smarty plugin використовує налаштування із PDT. Спробуйте коментарі задати якимось яскравим кольором у PDT, а тоді в .tpl протестуйте
          {* test *}

          Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">