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

Аватар пользователя stillfinder stillfinder 19 декабря 2013 в 1:22

Многим людям очень нравится редактор кода Sublime Text 2. Некоторые просто фанатеют от него, другие не очень хвалят. В этой статье я попробую оценить полезность данного инструмента для Drupal разработчика со своей субъективной точки зрения.

  1. Установим Sublime. Для этого перейдем на http://www.sublimetext.com/2, выберем подходящий для нас дистрибутив, скачаем и установим. Здесь вроде все стандартно

  2. Далее установим Sublime Package Control. Это менеджер пакетов для нашего редактора. Он позволяет устанавливать, удалять, обновлять необходимые пакеты. Для установки Sublime Package Control нажимаем комбинацию клавиш "ctrl+`" и вводим в появившуюся консоль следующую python строку:
    import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')

    Возможно, для Вашей OS команда будет иметь немного другой вид. Более подробно Вы можете ознакомиться с установкой Sublime Package Control на https://sublime.wbond.net/installation#st2

  3. Обновим настройки для поддержки Drupal Coding Standards (что это такое читаем здесь). Для этого идем в настройки, в секцию Settings - User и вставляем следующее (не забывая добавить запятую между этим и существующими правилами, но проверяем, что нету запятой в последней строке) :
    "bold_folder_labels": true,
    "caret_style": "wide",
    "default_line_ending": "unix",
    "draw_white_space": "all",
    "ensure_newline_at_eof_on_save": true,
    "fade_fold_buttons": false,
    "fallback_encoding": "UTF-8",
    "find_selected_text": true,
    "font_options":
    [
      "subpixel_antialias"
    ],
    "highlight_line": true,
    "line_padding_bottom": 1,
    "open_files_in_new_window": false,
    "rulers":
    [
      80
    ],
    "shift_tab_unindent": true,
    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    "trim_automatic_white_space": true,
    "trim_trailing_white_space_on_save": true,
    "use_tab_stops": true,
    "word_separators": "./\\()\"'-:,.;<>~!@#%^&*|+=[]{}`~?"
  4. О плагинах (пакетах) и как их устанавливать. Sublime чем-то похож на сам Drupal. Весь функционал можно наращивать с помощью расширений. Для установки плагинов нажимаем следующую комбинацию клавиш: CMD+SHIFT+P (актуально для Mac OS X, если Вы под Windows или Linux, то просто замените CMD на CTRL). В появившемся списке набираем pi и нажимаем Enter. После этого набираем название пакета (вернее его сокращенное название) и снова Enter для его установки. То есть пакеты можно ставить без мышки :)
  5. Плагины и их краткое описание

    AdvancedNewFile (сокращение: and)
    Создает новые файлы и директории. Вызывается нажатием CMD+ALT+n . Более подробно здесь

    Auto Semi-Colon (сокращение: asc)
    Этот плагин автоматически перемещает ";" за границу последних скобок, если нажали ";" внутри одной или более пар скобок. Более подробно здесь

    Bracket Highlighter (сокращение: bhi)
    Делает подсветку парных скобок [], (), {}, "", '', , а также многих других. Более подробно здесь

    DocBlockr (сокращение: db)
    Упрощает написание PHPDoc. Для вызова набираете /** и жмете <>. Более подробно здесь

    Drupal Project Autocomplete (сокращение: dpa)
    Этот плагин делает автокомплит для всех Drupal функций проекта. Более подробно здесь

    Goto Documentation (сокращение: gd)
    Этот плагин дает возможность переходить к документации относящейся к текущему слову. Он поддерживает не только php, но и много других языков. Для вызова можете воспользоваться комбинацией cmd-shift-p, после чего выберите "Goto Documentation". Конечно же проще настроить комбинацию клавиш для вызова данного плагина. Для этого добавляем в "Key Bindings - User" (куда мы попадаем через меню preferences) следующую строчку:
    { "keys": ["super+shift+h"], "command": "goto_documentation" }
    Более подробно здесь

    Goto Drupal API (сокращение: gda)
    Аналогично предыдущему, этот плагин дает возможность переходить к документации, только в данном случае - это документация по Drupal API. Как и в случае с предыдущим плагином, намного проще настроить комбинацию клавиш для вызова данного плагина. Для этого добавляем в "Key Bindings - User" (куда мы попадаем через меню preferences) следующую строчку:
    { "keys": ["super+shift+a"], "command": "goto_drupalapi" }
    Более подробно здесь

    Git (сокращение: git)
    Интеграция с git. Более подробно здесь

    MacTerminal (сокращение: mt)
    Работа с терминалом. По ctrl+command+t открывает терминал в папке, где находиться текущий редактируемый файл. здесь

    SASS (сокращение: sass)
    Поддержка SASS в Sublime. здесь

    SideBarEnhancements (сокращение: sbe)
    Улучшает возможности сайдбара в Sublime. здесь

    Sublimerge (сокращение: sumge)
    Плагин позволяет сравнивать и делать merge файлов прямо в редакторе Sublime Text 2. здесь

    SublimeLinter (сокращение: suli)
    Подсветка потенциально возможных ошибок.. здесь

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

Выделение

⌘ + 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

Оригинал статьи на stillfinder.net

0 Thanks

Комментарии

Аватар пользователя foreach foreach 19 декабря 2013 в 14:08

Скажите пожалуйста, как ведет себя подсветка кода внутри разных файлов ? Не возникает ли проблем с перемешанным кодом ?

Хотелось бы сразу получить готовую сборку, готовы ли вы выложить ее ?

Аватар пользователя stillfinder stillfinder 19 декабря 2013 в 15:45

Вроде не замечал проблем с подсветкой, с перемешанным кодом. Сборку выложить не могу, но думаю можно сделать скрипт, который установит перечисленные плагины. Только не уверен есть ли в этом смысл, ведь скорее всего, каждый захочет настроить все под себя и использовать не все из предложенного.

Аватар пользователя ihappy ihappy 19 декабря 2013 в 15:44

Пора делать уже под третью версию и почему никто не выпускает репаков с нужными дополнениями?

Аватар пользователя stillfinder stillfinder 19 декабря 2013 в 15:47

По поводу третьей версии - еще не занимался изучением данного вопроса. Когда будет время заняться этим - обязательно поделюсь своими результатами.

Аватар пользователя foreach foreach 19 декабря 2013 в 16:25

А в чем проблема со сборкой ?
Настройка под себя хороша лишь в момент принятия решения остаться на новом редакторе.
Я бы с радостью опробовал целую сборку на виртуальной машине.

Тем более, что уже более двух лет пытаюсь перебраться на linux desktop. Мультиплатформенный редактор был бы дополнительным толчком.

Аватар пользователя ihappy ihappy 19 декабря 2013 в 16:37
"stillfinder" wrote:

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

А я уверен, что такие как я(ленивые создания) очень оценят сборку.
Мне в лом настраивать чтолибо и люблю программы которые работают из коробки так как мне надо.
Вообще в этом плане саблайм вообще никудышный, настройки хоть и разнообразные и их много, но требуется определенный скил. А мне вот реально не хочется изучать редактор... глупо это.
А так я бы скачал сборочку, потестил, посмотрел, может что отключил или что добавил. Но это уже заняло бы у меня 10 минут, а не несколько часов траханья. Тем более, не все дополнения работают.

Аватар пользователя marazmus marazmus 19 декабря 2013 в 19:28

Поддержу iHappy, только это скорее не лень, а просто нежелание тратить время на траходействия. Время - очень ограниченный ресурс, его реально жалко. И тратить несколько часов чтобы понять, что только предварительная настройка под свои достаточно средние вкусы уже отняла полдня... Да нафиг надо.

Аватар пользователя ihappy ihappy 19 декабря 2013 в 19:52
"marazmus" wrote:

только это скорее не лень, а просто нежелание тратить время на траходействия.

Это лень, как лень не называй, это лень :)

Аватар пользователя foreach foreach 19 декабря 2013 в 20:04

Уже 3 потенциальных пользователя есть у сборки.
И это только те, кто видел тему со сборкой.

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

Сборки везде полезны, кто-то ОС собирает, кто-то ПО вертит.

Главное у вас есть опыт настройки.
Легче одному человеку собрать, а остальные экономят время и сидят у вас в блоге, обсуждают творение =)

Аватар пользователя stillfinder stillfinder 19 декабря 2013 в 22:16
foreach wrote:

Уже 3 потенциальных пользователя есть у сборки.
И это только те, кто видел тему со сборкой.

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

Сборки везде полезны, кто-то ОС собирает, кто-то ПО вертит.

Главное у вас есть опыт настройки.
Легче одному человеку собрать, а остальные экономят время и сидят у вас в блоге, обсуждают творение =)

Домен уже есть: http://stillfinder.net. Я там :)

Аватар пользователя marazmus marazmus 19 декабря 2013 в 21:18
"iHappy" wrote:

Это лень, как лень не называй, это лень :)

"ненене девид блейн!" :)

В моем случае это бесполезная трата времени в "поисках серебряной пули". Ну и три часа рабочего времени выкинуть на заточку инструмента, который еще и не факт что пригодится... А три часа личного времени лучше на семью потратить ну или на сон хотя бы :)

Аватар пользователя ihappy ihappy 19 декабря 2013 в 21:30
"marazmus" wrote:

В моем случае это бесполезная трата времени в "поисках серебряной пули". Ну и три часа рабочего времени выкинуть на заточку инструмента, который еще и не факт что пригодится... А три часа личного времени лучше на семью потратить ну или на сон хотя бы :)

То есть, ты не хочешь выделить три часа перед сном... или вместо сна на это)
Говорю же, лентяй ;)

Аватар пользователя stillfinder stillfinder 19 декабря 2013 в 22:13

Не думал, что будет столько желающих, но если такое дело, то сделаю сборку. Только нужно будет 3 сборки делать - под разные оси. И еще я не уверен насколько это легально. Кто нибудь может проконсультировать меня по этому вопросу законности данного намерения?

Аватар пользователя ihappy ihappy 19 декабря 2013 в 22:21
"stillfinder" wrote:

Не думал, что будет столько желающих, но если такое дело, то сделаю сборку. Только нужно будет 3 сборки делать - под разные оси. И еще я не уверен насколько это легально. Кто нибудь может проконсультировать меня по этому вопросу законности данного намерения?

насчет правомерности я незнаю. Но я уже думал над этим. Можно сделать не репак, а ... как это назвать не знаю.
В общем, перед использованием сборки, надо сам саблайм скачать и положить рядом с установщиком сборки, который сам бы в силент режиме ставил бы саблайм, а потом ставил настройки.
А можно, сделать сборку, в которой нет самого саблайма, а он только несет модули и настройки, типа применил и все ок.

А насчет трех, я думаю два надо, в макось не нуно. имхо

Аватар пользователя stillfinder stillfinder 19 декабря 2013 в 22:52

Выложил файл настроек и краткую инструкцию как импортировать эти настройки. Надеюсь, это будет полезно. Линк

Аватар пользователя ihappy ihappy 20 декабря 2013 в 15:12

Выдает ошибку.
А сейчас вообще перестал запускаться. Даже скриншот не могу сделать(
Рекомендую все таки делать на третью версию сразу. Вторая может скоро пропасть.

Аватар пользователя stillfinder stillfinder 20 декабря 2013 в 16:44
iHappy wrote:

Выдает ошибку.
А сейчас вообще перестал запускаться. Даже скриншот не могу сделать(
Рекомендую все таки делать на третью версию сразу. Вторая может скоро пропасть.

Ок, постараюсь сделать для 3 версии.

Аватар пользователя foreach foreach 30 декабря 2013 в 0:54
"stillfinder" wrote:

3.
но проверяем, что нету комы в последней строке) :

Не все поймут, исправьте.

Аватар пользователя stillfinder stillfinder 3 января 2014 в 21:54
foreach wrote:
"stillfinder" wrote:

3.
но проверяем, что нету комы в последней строке) :

Не все поймут, исправьте.

:) Спасибо, поправил.

Аватар пользователя Lotar Lotar 30 декабря 2013 в 17:50

А в чем его выгодное отличие для друпал разработчика, от блокнот++ или phpstorm?

Аватар пользователя stillfinder stillfinder 3 января 2014 в 21:55
Lotar wrote:

А в чем его выгодное отличие для друпал разработчика, от блокнот++ или phpstorm?

Это скорее вопрос личных предпочтений. Я не очень в курсе, а в notepad++ есть сниппеты для хуков и тд?

Аватар пользователя Artu Artu 31 декабря 2013 в 1:20

Windows. Копируете с заменой скаченный файл в папку C:\Users\{username}\Dropbox\Sublime\Packages\User C:\Users\{username}\AppData\Roaming\Sublime Text 2\Installed Packages(Вместо {username} вставляете имя Вашего пользователя)

При чем тут DropBox?

Аватар пользователя stillfinder stillfinder 3 января 2014 в 21:58
Artu wrote:

Windows. Копируете с заменой скаченный файл в папку C:\Users\{username}\Dropbox\Sublime\Packages\User C:\Users\{username}\AppData\Roaming\Sublime Text 2\Installed Packages(Вместо {username} вставляете имя Вашего пользователя)

При чем тут DropBox?

Спасибо за замечание. Опечатка. Очепятку поправлю.

Аватар пользователя ihappy ihappy 3 января 2014 в 20:29
"Lotar" wrote:

А в чем его выгодное отличие для друпал разработчика, от блокнот++ или phpstorm?

Sublime Text быстрей работает. Имеет хорошие дополнения. Красивый=).
Для вим*пользователей есть управление в стиле вим.
и сравнивать похапешторм с саблаймом не коректно, шторм как бы ИДЕ, а саблайм редактор.