Expertus metuit
Эффективное использование Sublime Text 3
2013-11-23 14:55

Опишу несколько полезных вещей, которые я систематически использую. В основном они касаются организации рабочего пространства и опций конфигурационного файла sublime text 3.

Файл проекта в репозитории

Одни люди считают, что конфиги среды разработки не должны храниться в репозитории, другие вполне такое допускают. Я тоже считаю, что вполне допустимо хранить параметры редактора в проекте, ведь хранят же вимовские модлайны в комментариях файлов? Файл проекта в репозитории лежит отдельно и никому не мешает, изменения там происходят очень редко. Если кому-то не нравятся параметры этого конфига, он может себе локально его скопировать, либо вообще другой создать с нуля, поскольку sublime text никак этот файл автоматически не обрабатывает при работе с каталогом проекта.

На практике всё выглядит так:

  1. Создаём новый проект в sublime text.
  2. Добавляем в него весь каталог проекта (или отдельные его папки).
  3. Сохраняем проект в файл PROJECT_NAME.sublime-project внутрь каталога проекта.
  4. Открываем файл проекта в редакторе и модифицируем записи в разделе "folders", заменяя абсолютные пути на относительные (например, если у вас добавлен весь каталог проекта в папки, то в параметре "path" пропишем просто ".").

Дальше добавляем этот файл в систему контроля версий, а вот файл воркспейса наоборот исключаем (он обычно называется PROJECT_NAME.sublime-workspace и находится рядом с файлом проекта в том же каталоге). Файл воркспейса исключаем потому, что он обновляется очень часто и особой нужды его коммитить нет, поэтому добавим его в .gitignore или что там у вас вместо него.

Чтобы файл воркспейса не мешался в панели редактора, добавим его в конфиге проекта в исключения (об исключениях подробнее будет ниже написано):

"file_exclude_patterns": ["*.sublime-workspace"],

Локальные настройки редактора для проекта

В конфиге проекта можно добавлять настройки редактора, которые для него будут более приоритетным, чем общие настройки. Они находятся в параметре "settings" на самом верхнем уровне:

{
    "folders":
    [
        // здесь папки проекта
    ],

    "settings": 
    {
        // а здесь настройки редактора, специфичные для данного проекта
        "rulers": [100]
    }
}

Там можно добавлять любые настройки редактора.

Исключение файлов из проекта

Некоторые файлы в редакторе не нужны: скомпилированные объектные файлы, промежуточные файлы сборки, картинки, сборочные каталоги и так далее. Они мешаются не только в дереве файлов проекта, но ещё и в результатах поиска по файлам, например.

В sublime text можно скрывать в проекте файлы и целые каталоги, для этого есть два параметра ("file_exclude_patterns" и "folder_exclude_patterns"), их можно размещать в глобальных настройках редактора, в локальных настройках проекта, для каждой папки проекта (в блоке "folders"). Синтаксис у этих параметров: обычные файловые wildcard-выражения:

    "folders":
    [
        {
            "follow_symlinks": true,
            "path": ".",
            "name": "src",
            "file_exclude_patterns": ["*.sublime-workspace"],
            "folder_exclude_patterns": ["_build", "_images"]
        }
    ],

Специфичные сборочные системы

В конфиге проекта можно также хранить параметры сборочных систем, специфичных для проекта. Они располагаются в блоке "build_systems", на том же уровне, что и "folders" и "settings". Вот пример такого блока:

    "build_systems": 
    [{
        "name": "Build HTML",
        "cmd": ["make", "SPHINXBUILD=~/python-ves/sphinx/bin/sphinx-build", "clean", "html"]
    }],

После добавления и сохранения в меню Tools → Build System появится новый пункт с именем Build HTML. Синтаксис тот же самый, что и в обычном конфиге билдеров (документация по параметрам этой секции здесь). Естественно, вы можете добавлять несколько разных сборочных систем, все они появятся в меню.

Комментарии

Текст комментария (разметка: *курсив*, **полужирная**, [ссылка](http://example.com) или <http://example.com> ещё)
Имя (обязательно, 50 символов или меньше)
Email, на который получать ответы (не будет опубликован)
Веб-сайт
© 2006—2016 Sergey Stolyarov | Работает на Pyrone