Добавляем поддержку 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. Дополнительно может понадобиться указать сопоставление цветовых схем и перезагрузить среду.

Блокировка ввода с клавиатуры в продуктах JetBrains под Ubuntu 14.04

Проблема

При интенсивной печати блокируется ввод с клавиатуры во всех средах разработки JetBrains. Бесит! Бесит! Бесит!

Причина

Что-то нехорошее происходит с демоном с названием ibus. Понятия не имею что это, но что-то связанное с клавиатурным вводом. Изменения в его работу внесены начиная с Ubuntu 13.10. Проблемы с горячими клавишами в нелатинской раскладке в некоторых программах имеют те же корни.

Устранение

Перезагрузить среду разработки — есть соответствующий пункт в меню.
Или перезагрузить демона ibus из консоли: ibus-daemon -rd

Соответствующий тикет в ё-треке.

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.

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

Еще раз о Ubuntu Unity и иконках запуска продуктов JetBrains

Частая проблема после обновления Ubuntu — слетают кастомные иконки запуска Unity. За этот механизм отвечают *.desktop файлы, которые лежат в директории ~/.local/share/application. Можно попробовать создать или отредактировать их самому, но в современных версиях IDE от JetBrains (PhpStorm, PyCharm и т.д.) разработчики уже позаботились о нас.
Читать далее Еще раз о Ubuntu Unity и иконках запуска продуктов JetBrains