Sublime Text 3 для Drupal разработчика

Главные вкладки

Аватар пользователя stillfinder stillfinder 11 марта 2014 в 23:25

В ранее я писал как настроить Sublime Text 2 для Drupal разработчика. По многочисленным просьбам представляю Вашему вниманию аналогичную статью, но по настройке Sublime Text 3.
Итак, Вы скачали и установили Sublime Text 3.

Package Control

Первое, что нужно сделать - это установить Package Control. Для этого в активном окне Sublime Text 3 нажимаем комбинацию клавиш ctrl+` для вызова консоли и вставляем туда следующий код:

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Жмем Enter и вуаля - Package Control установлен. Для вызова Package Control используем комбинацию клавиш ⌘ + Shift + P , вводим в поле ввода pi и нажимаем Enter. Теперь можно начать вводить им нужного пакета, после этого Enter и пакет будет установлен.

Конфигурация

Теперь идем "Preferences" => "Settings - User" и меняем данные настройки:

{
  "rulers": [80],
  "tab_size": 2,
  "translate_tabs_to_spaces": true,
  "use_tab_stops": true,
  "trim_automatic_white_space": true,
  "trim_trailing_white_space_on_save": true,
  "ensure_newline_at_eof_on_save": true,
  "fallback_encoding": "UTF-8",
  "default_line_ending": "unix",
  "shift_tab_unindent": true,
  "word_separators": "./\\()\"'-:,.;<>~!@#%^&*|+=[]{}`~?",
  "draw_white_space": "all"
}

Для того, чтобы можно было запускать Sublime Text 2 с командной строки (актуально для mac os x) запускаем терминал и выполняем следующую команду:
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/subl
После этого можно будет запускать Sublime командой subl из терминала, или использовать subl filename/dirname, например:

subl filename.php
subl dirname
subl .

Установка Плагинов

subDrush (Sublime Drush plugin).

работа с drush прямо из Sublime
Заходим в Package Control (⌘ + Shift + P потом pi), вводим subDrush и Enter. После этого можем просмотреть команды плагина с помощью комбинации ⌘ + Shift + P и ввода drush.

Goto Drupal API.

Команда для перехода на страницу api.drupal.org с документацией текущего слова.
Для установки плагина нам потребуется git. Если у Вас Mac OS, то достаточно выполнить следующие команды в терминале:

cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/
git clone git://github.com/BrianGilbert/Sublime-Text-2-Goto-Drupal-API.git GotoDocumentation

Если Вы используете Windows или Linux, то подобные команды Вы можете найти на странице плагина.
Теперь настроим сочетания клавиш для вызова плагина. Идем Preferences->Key Bindings - User и добавляем туда

{ "keys": ["super+shift+a"], "command": "goto_drupalapi" }

Goto Documentation.

Команда для перехода к документации по текущему слову. К списку поддерживаемых языков принадлежат PHP и Javascript.
Устанавливается через Package Control. Заходим в Package Control (⌘ + Shift + P потом pi), вводим Goto Documentation и Enter. Теперь настроим сочетания клавиш для вызова плагина. Идем Preferences->Key Bindings - User и добавляем туда:

{ "keys": ["super+shift+h"], "command": "goto_documentation" }

Drupal Sublime text.

Пакет содержащий в себе Drupal сниппеты, автокомплит и подсветку синтаксиса info файлов.
Для установки пакета используем Package Control как было уже описано выше или через git. Если у Вас Mac OS, то вводим в терминале следующие команды (для других OS см. страницу плагина):

pushd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages
git clone git://github.com/robballou/drupal-sublimetext.git Drupal
popd

Drupal Completions

Автозавершение Drupal кода функций часто используемых модулей, таких как ctools, views, token, entity, libraries, devel и bean.
Устанавливается через Package Control (⌘ + Shift + P , потом pi, Drupal Completions, Enter).
Также можно установить с помощью git (актуально для Mac OS):
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/
git clone https://github.com/flashvnn/Drupal-Completion-ST.git

Drupal Snippets

Пакет для поддержки Drupal сниппетов, автокомплита и подсветки синтаксиса.
Устанавливается через Package Control (⌘ + Shift + P , потом pi, Drupal Snippets, Enter).

Drupal Contrib Search

Ищет выделенный текст на drupalcontrib.org
Устанавливается через Package Control (⌘ + Shift + P , потом pi, DrupalContribSearch, Enter).

SublimeLinter3

Проверка синтаксиса php кода в реальном времени.
Устанавливается через Package Control (⌘ + Shift + P , потом pi, sublimelinter, Enter).

Sublime completion

Добавляет в drush команду, которая сканирует директорию проекта и создает файл для автозавершения имен функций в Sublime.
Скачиваем здесь, открываем его в Sublime, делаем поиск-замену "Sublime Text 2" на "Sublime Text 3" (это необходимо для работы с ST3) и распаковываем sublime.drush.inc файл в ~/.drush/ директорию. После этого открываем в терминале папку с Drupal проектом и вводим в коммандной строке drush sc или drush sublime. Эта команда создаст файл для автозавершения при вводе имен функций.

Часто используемые горячие клавиши

Выделение

⌘ + D – Выделить слово
⌘ + L – Выделить строку
⌘ + Shift + A – Выделить содержимое тага
Control + Shift + M – Выделить контент между скобками

Просмотр

⌘ + K, ⌘ + B – Показать/скрыть сайдбар
Shift + ⌘ + F - Полноэкранный режим
Control + Shift + ⌘ + F - Дистракционный режим

Редактирование

⌘ + Shift + D — Клонировать строку
⌘ + Shift + K - Удалить строку
⌘ + ] - Увеличить отступ, ⌘ + [ - Уменьшить отступ
⌘ + J – Соединить строки
⌘ + Option + [ - Свернуть блок
⌘ + Option + ] - Развернуть блок
⌘ + K, ⌘ + T - Свернуть атрибуты тагов
⌘ + K, ⌘ + J - Развернуть атрибуты тагов

Утилиты

Shift + ⌘ + P – Sublime коммандная панель
Control + ` – Консоль
⌘ + Option + P - Показать тип исходников

Навигация

⌘ + P – Показать быстрое переключение между файлами
⌘ + P, # – Перейти к слову
⌘ + R – Перейти к функции или классу
Control + G = ⌘ + P, : - Перейти к строке
⌘ + F2 – Добавить закладку. Для перехода между закладками используется F2
⌘ + I - Инкрементальный поиск
⌘ + G - Следующий результат поиска
⌘ + Shift + G - Предыдущий результат поиска

Настройки

⌘ + , – Settings - User

Выделение столбцов (OS X)

Левая кнопка мыши + Option
Или: Средняя кнопка мыши
Добавить к выделению: ⌘
Убрать из выделения: ⌘ + Shift
Используя клавиатуру
Ctrl + Shift + Up
Ctrl + Shift + Down

Другие статьи по Drupal моем блоге

Комментарии

Аватар пользователя aquasplash aquasplash 12 марта 2014 в 4:09

Спасибо конечно, но сборки нет.

Почему ее нельзя сделать ?

Пару пунктов проделал, дошел до "Drupal Sublime Text".
Для linux инструкцию не нашел, надоело, ушел обратно на phpstorm.

И эти ваши точки в ссылках, караул.

Аватар пользователя stillfinder stillfinder 13 марта 2014 в 1:06

aquasplash wrote:
Спасибо конечно, но сборки нет.

Почему ее нельзя сделать ?

Пару пунктов проделал, дошел до "Drupal Sublime Text".
Для linux инструкцию не нашел, надоело, ушел обратно на phpstorm.

И эти ваши точки в ссылках, караул.

Я думаю это не проблема - сделать сборку. Мне, например, она не нужна, да и времени особо на это нету.

Аватар пользователя aquasplash aquasplash 13 марта 2014 в 2:01

"stillfinder" wrote:
Я думаю это не проблема - сделать сборку. Мне, например, она не нужна, да и времени особо на это нету.

Если вы делаете только для себя, то не плохо было оставить пометку.

Но так как вы попытались подробно описать весь процесс, да еще и в двух местах и со ссылкой на свой ресурс. Я полагаю вы это делаете не только для себя.

А раз делаете не только для себя, то людям было быстрее и приятнее оценить сборку заточенную для Drupal, вместо долгих чтений множества инструкций.

Новички может и заинтересованны в данном решении, но потраченное время отобъет весь интерес.

"stillfinder" wrote:
Можете уточнить каких именно ссылок?

3, 4, 5, 6.