В этой заметке я приведу небольшой список плагинов для sublime text и простых трюков, которые помогут Вам ускориться. В будущем я планирую выложить цикл статей для верстальщиков, которые хотят ускорить свой рабочий процесс.
Плагины
Для начала, рекомендую установить Package Control — это такой репозиторий с дополнениями для ST. Установка его достаточно проста и описана на офф.сайте — https://packagecontrol.io/installation, поэтому предполагаю что с этим Вы прекрасно справитесь и без меня.
Теперь посмотрим на плагины:
Этот плагин подсвечивает границы разделителей, в том числе и html теги. В свежих версиях также содержит интересные экспериментальные возможности
Плагин для подсветки цвета. Поддерживает форматы — html named color, hex, rgb, rgba. У этого плагина есть еще одна приятная фишка — он поддерживает правильную подсветку переменных содержащих цвет (например в less)
Бывший ZenCoding. При умелом использовании эта штука может сэкономить неимоверное количество времени и сил. Более подробно с основами работы с emmet вы можете ознакомиться в статье на хабре
Проекты
Sublime Text дает возможность группировать исходники в проекты. И это шикарно!
Во-первых держать все свои проекты в проектах (извините за каламбур) позволяет использовать быстрый поиск файлов.
Во-вторых каждый проект можно индивидуально настроить, в зависимости от требований.
Для создания нового проекта, в меню sublime выбираем Project -> Add Folder to Project…
С помощью этой кнопки мы добавляем папку в проект. Теперь нужно сохранить проект — Project -> Save Project As… в каком-либо удобном для вас месте.
Лично я предпочитаю хранить файлы Sublime Project в папке проекта, чтобы можно было свободно ими делиться с коллегами.
Настройка проекта
Чтобы настроить проект, выберем Project -> Edit Project, в итоге перед нами предстанет json файл с настройками проекта.
По умолчанию в проекте забиты такие настройки:
{ "folders": [ { "path": "." } ] }
folders содержит в себе набор путей к папкам, добавленным в проект.
Исключение файлов и папок из проекта
В разделе folders, также имеется возможность исключения файлов и каталогов. К примеру, если мы хотим исключить все zip файлы из индекса проекта, воспользуемся настройкой file_exclude_patterns:
"file_exclude_patterns" : [ "*.zip", ]
А для исключения целых директорий используется параметр folder_exclude_patterns:
"folder_exclude_patterns" : [ "node_modules" ]
Настройка этих параметров бывает очень важна в больших проектах, где есть множество файлов и каталогов.
Кодировка проекта
Каждый проект можно настроить на определенную кодировку. Делается это с помощью настройки settings:
"settings" : { "default_encoding" : "Cyrillic (Windows 1251)", "fallback_encoding": "Cyrillic (Windows 1251)" }
Размер отступов
В раздел settings также можно поместить настройки отступов. К примеру, чтобы задать отступ в 4 пробела, воспользуемся параметром tab_size:
"settings" : { "tab_size" : 4 }
Остальные настройки можно найти в документации.
Системы сборки
Sublime Text предоставляет возможность интегрировать сборочные скрипты в проекты. Давайте, например, добавим сборочный скрипт для сборки проекта с помощью gulp
"build_systems" : [ { "name" : "My Project builder", "cmd" : ["gulp", "build"] } ]
Выбираем свою систему сборки: нажимаем комбинацию <CTRL>+<SHIFT>+B, в списке выбираем нужный сборщик и нажимаем Enter. В sublime откроется консоль, где будет отображаться статус сборки.
Ок, с самым простым разобрались, едем дальше — в инструментальный лес.
В процессе разработки ПО весьма не мало зависит от используемого редактора кода. Я, поддавшись веянью моды, решил освоить текстовый редактор Sublime Text 2, слишком уж много положительных отзывов я слышу о нем. Мне самому хватало Eclipse. Но со временем в Eclipse меня стало раздражать подтормаживание интерфейса и в конечном итоге я пришел к выводу, что всех «прибамбасов» Eclipse мне не надо, а от Eclipse мне нужна лишь подстветка синтаксиса, навигация по проекту, быстрые клавиши и работа с Ant. Ant обычно в проектах у меня делал компиляцию или упаковку проекта (тут под упаковкой подразумевается распределение исходников по определенной в структуре каталогов, как это в PHP-фреймворках или в RubyOnRails нужно) и отправку итога на веб сервер по FTP. Начиная работу с Sublime Text 2, мне не хотелось переключаться на консоль для вызова Ant, а использовать его непосредственно в интерфейсе Sublime Text 2. И решение было найдено.
Итак, что у нас есть:
Перво-наперво открываем в Sublime Text 2 нашу папку с исходниками «File»->«Open Folder.
Для примера создадим в корневой директории проекта файл «build.xml» следующего содержания:
<?xml version="1.0"?> <project name="helloworld" default="test"> <target name="test"> <echo>Ant works in '${ant.project.name}' project!</echo> </target> <target name="init"> <echo>Some initial logic in '${ant.project.name}' project!</echo> </target> <target name="trial" depends="init"> <echo>Some trial logic!</echo> </target> <target name="build" depends="init"> <echo>Some build logic!</echo> </target> </project>
и попробуем Ant:
и должно появиться внизу у Sublime Text 2:
Buildfile: *\helloworld\build. xml test: [echo] Ant works in 'helloworld' project! BUILD SUCCESSFUL Total time: 0 seconds [Finished in 2.1s]
Было обнаружено, что может возникнуть ситуация, когда Ant даже не вызовется. Симптом был такой: при запуске «Tools»->«Build» внизу в статусбаре говорилось «Building» и ничего не происходило. Открываем Sublime консоль через «Ctrl+`» и видим ошибки:
Running ant.bat Traceback (most recent call last): File ".\sublime_plugin.py", line 337, in run_ File ".\exec.py", line 154, in run File ".\exec.py", line 45, in __init__ UnicodeDecodeError: 'ascii' codec can't decode byte 0xc0 in position 9: ordinal not in range(128)
Нужно заменить в «exec.py» (*\SublimeText2\Data\Packages\Default для portable версии) строку:
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
на:
proc_env[k] = os.path.expandvars(v.decode(sys.getfilesystemencoding())).encode( sys. getfilesystemencoding() )
и теперь все должно работать.
В пункте 2 продемонстрировано, что Sublime Text 2 изначально позволяет использовать из «build.xml» только «default» цель или связанный с ней каскад целей (выше это просто «test»). А мне, как я сказал ранее, нужно вызывать еще и отличные от «default» конечные цели «trial» и «build». Поскольку мы удостоверились, что Ant работает, то просто заменим «default» цель с «test» на «build» и пользуемся горячими клавишами «Ctrl+B» или «F7».
Buildfile: *\helloworld\build.xml init: [echo] Some initial logic in 'helloworld' project! build: [echo] Some build logic! BUILD SUCCESSFUL Total time: 0 seconds [Finished in 0.4s]
А для цели «trial» я создал свой «Build System», используя «Tools»->«Build System»->«New Build System…», и сохранил файл в директории *\SublimeText2\Data\Packages\User (для версии portable), хотя директорию Sublime Text 2 сам предложит нужную
# файл "Ant TRIAL. sublime-build" { "cmd": ["ant.bat", "trial"] }
тут еще можно задать много интересных параметров.
Автоматически в меню должен появиться пункт «Tools»->«Build System»->«Ant TRIAL», выбираем его и пользуемся «Ctrl+B» или «F7» для сборки триальной версии. Если нужно итоговую сборку сделать, то переключаемся на «Tools»->«Build System»->«Ant» и пользуемся «Ctrl+B» или «F7». Но нам же и этого мало.
Зачем постоянно переключаться между «Ant TRIAL» и «Ant», хотя у меня не часто это происходит. Назначим быстрые клавиши «Preferences»->«Key Bindings — User»:
[ { "keys": ["f8"], "command": "exec", "args": {"cmd": ["ant.bat","trial"]} } ]
это подсмотрел в «Preferences»->«Key Bindings — Default»:
... { "keys": ["ctrl+break"], "command": "exec", "args": {"kill": true} } ...
Вернемся к «Tools»->«Build System»->«Ant», жмем «F8» и получаем «trial»:
Buildfile: *\helloworld\build.xml init: [echo] Some initial logic in 'helloworld' project! trial: [echo] Some trial logic! BUILD SUCCESSFUL Total time: 0 seconds [Finished in 0.4s]
а жмем «F7» и получаем «build»:
Buildfile: *\helloworld\build.xml init: [echo] Some initial logic in 'helloworld' project! build: [echo] Some build logic! BUILD SUCCESSFUL Total time: 0 seconds [Finished in 1.0s]
Все, теперь мы можем использовать Ant непосредственно в интерфейсе Sublime Text 2. Нюанс лишь в том, что теперь у всех ваших проектов их «build.xml» должен содержать указанные цели — «trial» и «build» (или отличную от «build», указанную в свойстве «default» у «project» в «build.xml»).
Думаю, не мне одному это будет полезно для старта с Sublime Text 2.
Спасибо за внимание.
Проекты в Sublime Text состоят из двух файлов: .sublime-project файл, который содержит определение проекта и .sublime-workspace файл, который содержит пользовательские данные, такие как открытые файлы и модификаций каждого.
Как правило, файл .sublime-project будет зарегистрирован в контроля версий, а файл .sublime-workspace — нет.
Формат проекта
«папки» Ключ
Ключ «настройки»
Ключ «build_systems»
.sublime-project файлы имеют формат JSON и поддерживают три раздела верхнего уровня: "папки"
, для включенных папок, "настройки"
, для файлов-настроек
переопределения и "build_systems"
для конкретных систем сборки проекта. Ан
пример:
{ "папки": [ { "путь": "источник", "folder_exclude_patterns": ["резервная копия"], "follow_symlinks": правда }, { "путь": "документы", "имя": "Документация", "file_exclude_patterns": ["*. css"] } ], "настройки": { "размер_вкладки": 8 }, "сборка_систем": [ { "список имен", "shell_cmd": "ls -l" } ] }
"папки"
Ключ Ключ "папки"
содержит массив объектов. Каждый объект должен иметь "путь"
ключ, который может относиться к каталогу проекта или полностью
квалифицированный путь.
Дополнительные необязательные ключи включают:
Имя, используемое вместо имени папки на боковой панели
Шаблоны файлов для включения из папки. Что-нибудь не
совпадение с этими шаблонами будет исключено. Это проверяется перед "file_exclude_patterns"
.
Шаблоны файлов для исключения из папки. Это добавлен в одноименную глобальную настройку.
"file_include_patterns"
. Шаблоны папок для включения из папки. Что-либо
не соответствующие этим шаблонам будут исключены. Это проверяется перед "folder_exclude_patterns"
.
Шаблоны папок для исключения из папки. Это
добавлен в одноименную глобальную настройку. Это проверяется после "folder_include_patterns"
.
Шаблоны файлов, которые следует рассматривать как двоичные файлы и, следовательно, игнорируется в Goto Anything и Найти в файлах .
Шаблоны файлов для индексации в папке. Это добавлено к
одноименная глобальная настройка. Все, что не соответствует этим шаблонам
будут исключены из индекса. Это проверяется перед "index_exclude_patterns"
.
Шаблоны файлов для исключения из индексации в
папка. Это добавлено в одноименную глобальную настройку. Это
проверено после "index_include_patterns"
.
Следует ли использовать символические ссылки при построении дерева папок.
Преобразованные проекты из более ранних версий могут иметь запись "mount_points"
под "папки"
. Если вы хотите использовать шаблоны исключения, вам нужно
изменить на вышеуказанный формат.
"Настройки"
Ключ Настройки
могут быть указаны здесь с помощью клавиши "настройки"
и будут переопределять
обычные пользовательские настройки. Однако они не будут переопределять специфичные для синтаксиса
настройки.
Обратите внимание, что проект может управлять только настройками в категории «Настройки редактора».
"build_systems"
Ключ "build_systems"
указывает список встроенных определений систем сборки. В
в дополнение к обычным настройкам системы сборки, "имя"
необходимо указать
для каждого. Перечисленные здесь системы сборки будут доступны через
обычное меню Tools Build Systems.
Projects групповые наборы файлов и папок чтобы ваша работа была организована. Они поддерживают специфичные для проекта настройки и системы сборки. и вы можете быстро переключаться между ними продолжить работу с того места, на котором остановились.
Добавление папок в проект необходимо для Goto Anything и Goto Definition для всего проекта.
Всегда есть активный проект, даже если вы не создали и не открыли его. В этой ситуации, вы работаете с анонимным проектом , который имеет ограниченный функционал. Новые окна всегда используют анонимный проект когда они впервые открываются.
Метаданные проекта хранятся в файлах JSON
с расширением .sublime-project
.
Везде, где есть файл .sublime-project
,
вы также найдете вспомогательный файл .sublime-workspace
. .sublime-workspace
файл содержит данные сеанса
что вы никогда не должны редактировать .
(Подробнее о рабочих пространствах позже.)
Примечание
Вообще говоря,
можно коммитить файлов .sublime-project
в репозиторий исходного кода,
но всегда помните о том, что вы храните в них.
Невзирая на вышеизложенное, в проектах, где не все
использует Sublime Text в качестве своего редактора
желательно сохранить файл .sublime-project
вне репозитория проекта.
Начать с анонимного проекта открыв новое окно или закрыть любой активный проект с помощью меню Проект → Закрыть проект .
Вы можете добавлять и удалять папки в/из проекта с помощью меню Project или контекстное меню боковой панели. Если вы перетащите папку в окно Sublime Text, он тоже будет добавлен в проект.
Чтобы сохранить анонимный проект, перейдите к проекту → Сохранить проект как… .
После сохранения проекта вы можете отредактировать его вручную для настройки дополнительных параметров.
Используя главное меню, вы можете открывать или переключать проекты выбрав Projects → Open Recent , Проекты → Переключить проект… или Проекты → Проект быстрого переключения… .
При переключении проектов Sublime Text закроет текущий проект и открыть указанный в том же окне, При открытии проекта Sublime Text откроет новое окно и откройте там выбранный проект.
Сочетания клавиш, относящиеся к проектам:
Проект быстрого переключения… | Ctrl + Alt + P |
Примечание
Привязка клавиш удалена в сборке 3096 для Windows и должны быть добавлены вручную, при желании. Чтобы сделать это, добавьте следующую привязку ключа в файл привязок клавиш пользователя:
{ "keys": ["ctrl+alt+p"], "command": "prompt_select_workspace" }
Кроме того,
вы можете открыть проект из командной строки передав файл .sublime-project
в качестве аргумента
к помощнику командной строки subl
входит в состав Sublime Text.
Наряду с дополнительными параметрами для отдельных каталогов, проекты могут иметь определенные системы сборки или переопределения настроек.
См. также
Рабочие области содержат данные сеанса связанные с проектом, который включает в себя информацию об открытых файлах, макете панели, найти историю и многое другое. В проекте может быть несколько рабочих областей.
Обычный вариант использования рабочих областей: работать над разными функциями в рамках того же проекта , где каждая функция требует другой набор файлов, которые нужно открыть, и вы хотите быстро переключаться между функциями.