РСС

Ношу шлем, тяжело дышу…

Меня зовут Антон Шувалов. Я работаю в Lazada. Кроме программирования я пишу музыку и иногда занимаюсь дизайном интерфейсов. Я есть в Twitter, Facebook, и на GitHub. Вы можете написать мне email.

Если вы задумали порадовать меня небольшим подарком (не может быть!) — вот список моих мещанских мечт.

Плагины для Sublime Text 3

"Sublime Text 3"

Еще несколько лет назад я был фанатом TextMate. Следуя заветам Томаса и Ханта, в этом редакторе я делал практически все, включая даже чтение манов. В то время Sublime Text лишь набирал популярность, и, в какой-то момент, я решил его попробовать. В те времена с TextMate 2 творились странные вещи — эта версия, в течение нескольких лет все еще была в альфе, и, похоже, не собиралась оттуда выходить. Позднее, правда, TextMate стал опенсорсным, и разработка какое-то время шла более активно, но я уже был далеко.

С тех пор мои интересы немного изменились, и экспериментам с воркфлоу я начал предпочитать написание кода. Воркфлоу, соответствующим образом скатился в сторону здорового функционализма. В последнее время активных изменений там практически не происходит — в основном, обновления касаются сниппетов и подсветки языков. Остальное, видимо, мне в самый раз приходится.

И так…

Запуск Sublime Text из консоли

В Mac OS открыть любой файл или директорию из консоли в sublime можно так:

open -a "Sublime Text" .
sudo open -a "Sublime Text" /etc/hosts

Для большего комфорта лучше использовать консольную утилиту, которая идет вкупе с Sublime Text. Устанавливается она так:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime

Кроме того, я сразу добавляю пару строк в .zshrc:

alias s='sublime' # теперь можно набирать `s .` вместо `sublime .`
export EDITOR='subl -w' # а так git commit будет открывать sublime вместо vi

Тема

Практически во всех редакторах, с которыми я работаю, я использую тему Birds of Paradise. Sublime не стал исключением, благо он умеет импортировать темы из TextMate.

Линтинг

Для линтинга JavaScript я использую jshint. Для того, чтобы заставить его работать в sublime text 3, я использую комбинацию из двух плагинов:

  1. SublimeLinter — движок для большого количества различных линтеров;
  2. SublimeLinter-jshint — собственно, сам линтер.

Мой .jshintrc выглядит так (в основном я пишу под nodejs):

{
  "browser": false,
  "curly": true,
  "expr": true,
  "indent": false,
  "jquery": false,
  "laxcomma": true,
  "laxbreak": true,
  "maxcomplexity": 10,
  "maxdepth": 3,
  "maxparams": 4,
  "node": true,
  "trailing": true,
  "quotmark": "single",
  "strict": true,
  "undef": true
}

Описание опций можно узнать здесь.

Кроме jshint-линтера можно присмотреться и к паре других: jscs и csslint.

CSScomb

CSScomb — утилита для сортировки CSS-правил в селекторах не по алфавиту, но по здравому смыслу, объединяя правила в логические группы. Последние полгода я пишу на stylus, поэтому черной завистью завидую тем, кто может пользоваться CSScomb и жду, жду, жду, жду…

Git

Для интеграции с git мне хватает GitGutter — этот плагин отмечает еще незакомиченные изменения в файле соответствующими значками на полях.

Для всего остального я использую консоль и пайпы. К примеру, посмотреть diff всего коммита можно, набрав в терминале git diff | s, так что мне вполне хватает такой минималистичной интеграции.

Emmet

Emmet — набор удобных сниппетов для html и css. Так, к примеру, лаконичное html:5>ul>li.item-$*5>span.title+span.author легким нажатием на tab превращается в…

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <ul>
    <li class="item-1"><span class="title"></span><span class="author"></span></li>
    <li class="item-2"><span class="title"></span><span class="author"></span></li>
    <li class="item-3"><span class="title"></span><span class="author"></span></li>
    <li class="item-4"><span class="title"></span><span class="author"></span></li>
    <li class="item-5"><span class="title"></span><span class="author"></span></li>
  </ul>
</body>
</html>

TodoReview

Я часто пишу todo-комментарии в коде, вроде такого: /* TODO: переписать на промисы */. TodoReview умеет находить все подобные коментарии в проекте и выводить их в виде списка, чтобы можно было избавляться от технического долга систематически, а не просто в очередной раз случайно наткнувшисть на оставленное замечание.

SideBarEnhancements

SideBarEnhancements учит не особенно-то и сговорчивый сайдбар sublime text’а адекватному взаимодействию с файлами: копированию, вставке, удалению, и тд.

Разное

На этом, кажется, все. Подписывайтесь на РСС. Всем добра и штурмовиков.

фото: jdhancock

«Как рушатся комплексные системы», Ричард И. Кук
О фундаментальных проблемах больших запутанных систем
7 паттернов для рефакторинга JavaScript-приложений
Перевод отличной серии статей о проектировании и рефакторинге проектов
Музыка для работы
Мои плейлисты: теплый glitch, нежные девичьи голоса, интересная электроника и chillwave
Ссылколог
Коллекционирую полезные ссылки