Это удобно, когда в любимом редакторе/IDE можно использовать подсказки и автоподстановку по Вашему любимому фреймворку. Поскольку я привык использовать Komodo Edit 7.1 и Kohana 3.3, то в этой заметке будет рассказано, как их подружить.
Когда нужно править/писать проект сразу на удалённом сервере, например по SFTP, — хотелось бы иметь возможность пользоваться автоподстановкой и справкой по Kohana API. Поскольку порой хранить полную копию проекта локально по тем или иным причинам неудобно, то было бы неплохо пользоватья вышеописанными возможностями даже когда мы редактируем какой-то отдельно взятый файл на удалённом сервере.
В надежде решить эту проблему мы идём в
Edit->Preferences->Languages->PHP->PHP Directories,
где нам вежливо предлагается указать директории, которые Komodo должен использовать для calltips и autocomplete.
В надежде, что всё получится, мы копируем локально дистрибутив Kohana и прописываем пути до него, как, например, это сделано у меня:
Однако, после всех манипуляций выясняется, что Komodo неверно сканирует поддиректории, хотя это и описано в настройках («Komodo will recursively scan these directories for information.»). На самом деле же, для того, чтобы заставить Komodo работать нам придётся использовать следующий патч:
Index: /home/toddw/as/komodo-devel/src/codeintel/lib/codeintel2/lang_php.py
===================================================================
--- lang_php.py (revision 73000)
+++ lang_php.py (working copy)
@@ -1025,9 +1025,9 @@
# - extradirslib
extra_dirs = self._extra_dirs_from_env(env)
- if extra_dirs:
+ for extra_dir in extra_dirs:
libs.append( db.get_lang_lib("PHP", "extradirslib",
- extra_dirs, "PHP") )
+ [extra_dir], "PHP") )
# - inilib (i.e. dirs in the include_path in PHP.ini)
include_dirs = [d for d in include_pa
Для этого ищем файл в директории, где установлен Komodo папку codeintel2 (например, C:\Program Files (x86)\ActiveState Komodo Edit 7\lib\mozilla\python\komodo\codeintel2) с файлом lang_php.py и заменяем указанные строки.
Те, кто не хотят этим заниматься, могу сразу скачать файл и заменить его у себя.
В качестве неприятного недостатка — при каждом запуске программы в фоновом режиме будет осуществляться поиск по папкам, которые мы указали, однако мы получим полнофункциональную поддержку Kohana в Komodo Edit.
Вы можете подробнее почитать об обсуждении бага и полезном плагине AutoCode.