Добавляем поддержку Ruby синтаксиса в PhpStorm или PyCharm через TextMate Bundles

У меня в последние годы типична ситуация, когда в веб-проекте используется целая россыпь технологий. Как минимум, это какая-то из бекенд платформ — PHP, Python, Ruby и т.д. + JavaScript на фронте. Такой кейс отлично покрывается IDE от JetBrains — во всех из них поставляется полноценная поддержка JavaScript и других фронтенд технологий, соответствующая уровню WebStorm.

Но по факту, в дополнение к основному бекенд коду чаще имеем еще вспомогательные инструменты — сборка, деплой, виртуализация, оркестрация и т.д. Все эти системы также требуют конфигурирования или программирования и совсем не обязательно с использованием языка самого проекта. Самый распространенный пример — PHP или Python проект + Vagrant, у которого конфиг на Ruby. Ну а самый вырожденный случай в этом смысле — проект на моднейших микросервисах, в котором легко могут быть заюзаны 5 фреймворков на 3 языках.

Так вот в PhpStorm нет встроенной поддержки Ruby даже на уровне подсветки синтаксиса. Аналогично и с остальными IDE JetBrains — всегда поддерживается только одна бекенд технология. Остальные недоступны даже через репозитарий плагинов. Немного странно после использования текстовых редакторов типа Vim, Atom или ST, в которых всегда можно доустановить поддержку любого синтаксиса.

Понятно почему JetBrains так делают — им надо продавать лицензии. Хочешь полноценную поддержку еще одной технологии — плати. Есть даже All Products Pack предложение со скидкой.

Но если мне нужно поправить конфиг Вагранта, то мне совсем не нужна полноценная поддержка Ruby. И ДжетБрейнсы изящно выкрутились из этого противоречия, добавив поддержку плагинов для редактора TextMate — так называемых TextMate Bundles. Репозитария в IDE для них нет — бандлы нужно найти и скачать самому. Все без проблем ищется на гитхабе — называются обычно плагины %что-то%.tmbundle.

Пример бандла для Ruby. Качаем, распаковываем и добавляем в IDE через Settings — Editor — TextMate Bundles. Дополнительно может понадобиться указать сопоставление цветовых схем и перезагрузить среду.

Power Save Mode в IDE JetBrains

Приятная фича в джетбрейновских IDE ускользала раньше от моего внимания. Если нажать на иконку Гектора Инспектора в правом нижнем углу панели статуса, то можно изменить общий уровень глубины инспекции кода или временно совсем отключить инспекцию для экономии заряда батареи. Фишка в том, что инспекция кода налету сильно нагружает процессор и ведет к повышенному расходу энергии.

При необходимости инспекцию кода можно вызвать вручную из меню — Code | Inspect Code…

Девелоп виф плежа, чуваки!
И путешествуйте почаще.
И природу берегите.

PhpStorm и jQuery: unresolved function or method

В PhpStorm есть чудесная возможность импорта JS библиотек прямо из исходников через их «умную подсказку». Только вот при импорте jQuery актуальных версий обоих веток (1.11.1 и 2.1.1 соответственно) IDE начинает прикидываться, что не может распознать библиотеку, хотя автодополнение при этом работает. Лечится дополнительным импортом более ранней стабильной версии jQuery 1.10.2. Это можно сделать через управление JS библиотеками в настройках IDE — предварительно скачав файл себе на диск -, или временно указав путь к нужной версии на одной из CDN, например Яндекса. В самом проекте использовать устаревшую версию не обязательно, но может потребоваться перезапуск IDE.

Актуально для версии PhpStorm 7.1. В PhpStorm 8 вроде как обещают исправить.

PhpStorm и кодировки файлов

К сожалению, в мире PHP до сих пор нередки случаи разжигания межнациональной розни посредством использования кодировок отличных от UTF-8. В PHPStorm есть возможность гибкой (иерархической) настройки кодировки файлов проекта: File — Settings — File Encodings. А фишка в том, что изменения вступают в силу только после перезапуска IDE.

Девелоп виф плежа, чувачки!