Еще несколько лет назад я был фанатом 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 , я использую комбинацию из двух плагинов:
- SublimeLinter - движок для большого количества различных линтеров;
- 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 }
Описание опций можно узнать .
CSScomb
Git
Для интеграции с git мне хватает GitGutter - этот плагин отмечает еще незакомиченные изменения в файле соответствующими значками на полях.
Для всего остального я использую консоль и пайпы. К примеру, посмотреть diff всего коммита можно, набрав в терминале git diff | s , так что мне вполне хватает такой минималистичной интеграции.
Emmet
Emmet - набор удобных сниппетов для html и css. Так, к примеру, лаконичное html:5>ul>li.item-$*5>span.title+span.author легким нажатием на tab превращается в…
TodoReview
Я часто пишу todo-комментарии в коде, вроде такого: /* TODO: переписать на промисы */ . TodoReview умеет находить все подобные коментарии в проекте и выводить их в виде списка, чтобы можно было избавляться от технического долга систематически, а не просто в очередной раз случайно наткнувшисть на оставленное замечание.
SideBarEnhancements
SideBarEnhancements учит не особенно-то и сговорчивый сайдбар sublime text’а адекватному взаимодействию с файлами: копированию, вставке, удалению, и тд.
Сегодня я решил перейти со старого сублайма на Sublime Text 3. В этом посте я хочу зафиксировать список используемых мной плагинов и заодно расскажу немного о них. Например о таких, которые делают клевую подсветку значений цвета:)
Для удобной установки плагинов необходимо поставить Package Control. Для этого открываем консоль в редакторе(Ctrl + `) и вводим следующую команду:
Import urllib.request,os,hashlib; h = "eb2297e1a458f27d836c04bb0cbaf282" + "d0e7a3098092775ccb37ca9d6b2e4b7d"; 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://packagecontrol.io/" + 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)
После чего перезапускаем редактор. Хочу заметить что новая версия запускается еще быстрее старой. Теперь для установки плагинов нажимаем Ctrl + Shift + P и выбираем Package Control: Install Package . Там выбираем плагин и жмем Enter.
Плагины
Emmet
Думаю в представлении не нуждается. Это плагин для быстрого набора html и css-кода.
Local History
Удобный плагин для просмотра истории изменения файлов.
Encoding Helper
Отображает в статусной строке кодировку файла, а также позволяет открывать и сохранять файлы в различных кодировках.
SublimeCodeIntel
Умный автокомплит, имеется возможность перепрыгивать к definitions при помощи Alt + Click.
SublimeREPL
Интерпретатор различных языков. Например Python, NodeJS и другие
DocBlockr
Удобная вставка JSDocs, парсит параметры функций. Введите перед функцией /** и нажмите Tab .
Очень крутой автокомплит имен файлов. Можно использовать в любых атрибутах, любых тегов. Для картинок еще и показывает ширину и высоту изображения.
ColorHighlighter + GutterColor
Подсветка цветовых значений в css. Color Highliter подчеркивает сами значения цвета. А благодаря GutterColor — слева появляются кружочки с цветом(требуется установленный ImageMagick).
Колор пикер — работает по хоткею Ctrl + Shift + C.
Plain Tasks
Трекер для задач. Простенький todo-лист с красивым оформлением. Сохраняется все в текстовом формате.
MarkdownEditing
Удобное редактирование markdown-файлов, например для гитхаба.
Sidebar Enhancements
Улучшенный сайдбар.
ApplySyntax
Автоматический детектор типа файла.
SublimeGit
Полнофункциональная интеграция GIT
SidebarGit
Контексное меню GIT в сайдбаре редактора. Подойдет для тех, кто не сильно любит коммандную строку.
GitGutter
Диффы для гита. Показывает слева изменения с последнего коммита.
HTML-CSS-JS Prettify
Форматирование кода. необходим node.js. Хоткей Ctrl + Shift + H.
Inc-Dec-Value
Увеличивает\уменьшает числовые значения по Alt + стрелка вверх/вниз. Как в фаербаге или в хром девелопер тулз.
EasyMotion
Быстрое перемещение по тексту. Для любителей Vintage Mode да и не только для них, рекомендуется.
AdvancedNewFile
Быстрое создание файла. Ctrl + Alt + N. Если вы пользуетесь Evernote — то будет открывать новую запись в Evernote — не забудьте поменять хоткеи.
Встречайте список первой необходимости – 15 самых нужных плагинов для Sublime, которые сильно упростят жизнь разработчику.
Package Control
Менеджер пакетов для Sublime. Без него установка и удаление пакетов – сущий ад, поэтому поставить Package Control нужно прежде всего.
Emmet
Эммет стоял бы номером один, если бы у Саблайма был нормальный менеджер пакетов из коробки. Благодаря ему работа с разметкой становится в разы удобней и быстрее. Например, html + tab создаст готовый каркас для html-документа, а div.wrapper + tab превратится в
JavaScript & NodeJS Snippets
Коллекция сокращений сниппетов для JavaScript, которая поможет работать значительно быстрее. Зачем писать document.querySelector("selector’); , когда можно просто написать qs , нажать таб — и дело с концом!
Advanced New File
С этим пакетом не придется лазить по деревьям каталогов и пользоваться выпадающими менюшками. Через cmd+alt+n (ctrl+alt+n) вызовется строка для ввода – вводим путь, имя файла, клацаем Enter. Готово!
Git
Этот плагин добавляет возможность пользоваться всеми необходимыми для разработки функциями Git: add, commit, доступ к логам – и все это не покидая Sublime!
GitGutter
Добавляет возможность просматривать статус файла и отслеживать изменения прямо в редакторе. Можно сравнивать версии файлов из любых веток.
Side Bar Enhancements
Как и следует из названия, этот пакет добавит некоторые улучшения в левый сайдбар. Например, появятся пункт «Открыть в браузере», возможность сделать дубликат и еще около 20 полезных функций.
ColorPicker
Крошечный, но очень полезный плагин добавит возможность выбирать и подбирать цвет из круговой палитры в hex-формате. Открывается в отдельном окошке и позволяет выбрать цвет как из палитры, так и из любого места на экране.
Placeholders
В Sublime Text 3 появилась возможность генерировать и вставлять lorem ipsum, а Placeholder немного расширяет эту возможность. С ним можно вставлять макетные изображения, формы, списки и таблицы.
DocBlockr
DocBlockr позволяет играючи делать описания к функциям. На раз-два он создаст закомментированную область для описания аргументов функции, возвращаемых значений и типов переменных.
SublimeCodeIntel
Это расширение поможет быстрее разобраться в старом коде. При нажатии на имя функции покажет ссылку, по которой можно перепрыгнуть прямо к описанию этой функции.
Minify
Минифицирует и создает в каталоге текущего файла его минифицированную версию. Работает с CSS, HTML, JavaScript, JSON и SVG. Для работы требует внешние node.js библиотеки, так что их придется установить отдельно:
npm install -g clean-css uglifycss js-beautify html-minifier uglify-js minjson svgo
npm install - g clean - css uglifycss js - beautify html - minifier uglify - js minjson svgo |
Sublime Linter
Умеет проверять код на синтаксические ошибки, плохие практики и прочие проблемы, которые частенько появляются. Только для каждого используемого языка придется поставить отдельный
Привет, много уже было написано про Sublime Text. В своем блоге я писал про Sublime Text 2. Сейчас Sublime Text 3 уже вышел из альфа версии (альфа — означает — новая и крайне не стабильная версия), и перешел в бету (бета — все еще не стабильная, но уже предназначена для тестирования, после беты обычно идет официальный релиз). И я решил полностью разобраться с Sublime Text 3 (далее в тексте ST3).
Если вы собираетесь установить SublimeText3 то эта самая полная инструкция для вас. Здесь я опишу все что связано с этим редактором, а умеет он действительно многое.
Сперва я удалил из системы ST2 и все его следы. Также удалил node.js и npm который был с ним в паре. Так как я намерен заново — правильно и грамотно настроить компиляцию less, а затем и saas файлов, через sublime. Но об этом позже.
Часть 1. Установка и настройка Sublime Text 3
Скачиваем и устанавливаем Sublime Text 3
Если вы еще не в курсе, Less — это основанный на JavaScript CSS препроцессор. Это код который компилируется в CSS. Существуют разные способы компиляции less в css: Grunt , Guard , и Less.app . Однако возможно вы не хотите, или вам не нужно использовать дополнительные инструменты, и хочется все сделать прямо в редакторе кода. Ниже я привел инструкцию которая подойдет пользователям Windows (я сам делал установку по ней, и также для mac ОС.)
- Устанавливаем Node.js
- Устанавливаем NPM (устанавливается вместе с Node.js)
- Устанавливаем Less Глобально. Открываем Windows консоль и вводим npm install less -gd
- Установим плагин Less2Css и SublimeOnSaveBuild
Откроем настройки ST3: Preferences → Settings — Default, и в конец допишем строку:
"lesscCommand": "/usr/local/share/npm/bin/lessc"
Откроем любой.less файл и попробуем его собрать. Просто вносим изменения в файл, и жмем Ctrl+S.
Если возникла ошибка: Unable to interpret argument clean-css … Это произошло потому что плагин clean-css был обособлен, и не входит в пакет less. Поэтому его надо установить отдельно. Установим. Заходим в консоль и пишем:
Npm install -g less-plugin-clean-css
SASS — это другой препроцессор для CSS. Набирает популярность, и уже обгоняет less по распространению использования.
- Устанавливаем Ruby
- Запускаем консоль, и ставим Ruby Gem gem install sass
- Устанавливаем плагин Sass для Sublime Text
- Устанавливаем плагин Sass Build для Sublime Text
- Устанавливаем плагин SublimeOnSave для Sublime Text
(мы же говорили о этом плагине в инструкции выше)
Теперь добавим настройки в Sublime Text Settings – Default:
{ "filename_filter": ".(sass|scss)$", "build_on_save": 1 }
Также не забудьте при открытом.sass файле зайти и выбрать билд систему в Tools → Build System → SASS Compressed Теперь при сохранении.sass файла будет компилироваться.css.
Jade — это препроцессор для написания html кода, и подобно less или sass для css, он ускоряет и упрощает (для опытных верстальщиков) написание html разметки. Как установить и настроить его работу.
- Должен быть установлен node.js с npm (обычно идет в комлпекте с node)
- Заходим в консоль и устанавливаем jade командой npm install jade --global
- В Sublime Text устанавливаем плагин Jade Build
- В Sublime Text открываем.jade файл и выбираем Jade build system
- Если вы выполняете всю инструкцию в этом посте, то в настройках Sublime я дополню строку про Save On Build расширением jade и теперь она будет выглядеть вот так "filename_filter": ".(sass|scss|jade)$",
- Устанавливаем в Sublime плагин Jade
После этих манипуляций происходит компилирование jade файлов.
Если нет подсветки кода Jade, то идем в нижний правый угол ST, и там скорее всего написано Plain Text, кликаем по той надписи, и затем выбираем подсветку Jade. Теперь подсветка будет работать.
Правильный набор плагинов может повысить эффективность работы в любом приложении. Если вы являетесь веб-разработчиком, работающим с Sublime Text 3 Package Ccontrol , мы настоятельно рекомендуем внимательно ознакомиться с рассмотренными в этой статье плагинами:
- Package Control ;
- HTMLPrettify ;
- Emmet ;
- Bracket Highlighter ;
- jQuery ;
- Case Conversion .
Package Control
Это плагин позволяет легко находить, устанавливать и обновлять другие пакеты. Его нужно установить первым. Это упростит работу со всеми другими плагинами.
Как установить
- Перейдите по ссылке https://packagecontrol.io/installation и скопируйте команду, которая будет выглядеть примерно так:
- Нажмите Ctrl — обратный апостроф (; `), чтобы открыть Sublime Text Console :
- Вставьте команду и нажмите Enter .
- После запуска команды вы увидите небольшое всплывающее окно с предупреждением:
- Нажмите «ОК ».
- Закройте и перезапустите Sublime Text .
- Введите команду Package Control , чтобы просмотреть все команды:
Мы будем использовать Package Control Sublime Text для остальных плагинов.
HTMLPrettify
Принимает длинные строки HTML , CSS , JavaScript и JSON и форматирует их так, чтобы вы могли их прочитать, а не пытались разобраться в сплошном наборе текста.
Как установить
- Нажмите Ctrl-Shift-P в Windows , чтобы открыть «Панель команд ».
- Введите команду Package Control , чтобы просмотреть все команды. Выберите Package Control: Install Package . На экране появится меню доступных плагинов:
- Введите HTMLPrettify :
- Нажмите на HTML-CSS-JS Prettify . Данное название немного отличается, но это тот же плагин.
Emmet
Это плагин раньше назывался Zen Coding . Он позволяет писать сокращенные коды HTML и CSS . Например, набрав следующее:
#page>div.logo+ul#navigation>li*5>a{Item $}
И нажав клавишу tab , вы получите:
После установки Emmet с помощью Sublime Text Package Control перезапустите Sublime Text .
Чтобы Emmet работал, необходимо установить синтаксис для документа. Иначе он работать не будет:
Теперь проверьте. Введите следующее:
nav#menuSystem.navMenu.isOpen>div#hotelLogo>div.navMenuIcon.logoIcon+div#arrowPointer+ul#navMenuMain>li.navMenuItem.navMenuItem$$$*2>div.navMenuIcon{Item $}+a{Item $}
И нажмите tab . Вы получите:
Чтобы изучить все доступные сокращения, уйдет много времени. Это позволит писать HTML-код намного быстрее.
BracketHighlighter
Плагин подсвечивает скобки и теги. После установки с помощью Sublime Text Package Control install можно щелкнуть в любом месте JavaScript или HTML-кода , и увидеть в левом столбце открытие и закрытие скобок:
JQuery
Плагин jQuery подсвечивает корректный синтаксис методов jQuery и предоставляет фрагменты кода для его завершения:
Case Conversion
Позволяет переключаться между snake_case , camelCase , PascalCase и т. д. После установки плагина с помощью Package Control (введите «pic » для быстрого доступа к Install Package ), попробуйте:
До: navMenu
Нажмите: ;;c, затем;;c
После: nav_menu
Обратите внимание, что это не будет работать должным образом, если вы попытаетесь преобразовать целую строку.
До:
Нажмите: ;;c, затем;;c (для camelCase )
После: navIDMenuSystemClassNavMenuIsOpen
Если вы являетесь веб-разработчиком, использующим Sublime Text 3 Package Control , советую попробовать перечисленные в этой статье плагины! Если они вам не понравятся, всегда можно удалить их с помощью Package Control: Remove Package .
Перевод статьи «Sublime Text 3 Plugins for Web Developers » дружной командой проекта