Системы сборки¶

Предупреждение

Разработка Sublime Text перешла к версии 3.

В результате эта ветка для Sublime Text 2 больше не будет обновляться . Выберите latest ветвь на панели слева внизу и подумайте об обновлении Sublime Text.

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

Системы сборки состоят из одной или, возможно, трех частей:

  • данные конфигурации в формате JSON (содержимое файла .sublime-build )
  • опционально, Sublime Текстовая команда, управляющая процессом сборки
  • , необязательно, внешний исполняемый файл (скрипт, двоичный файл)

По сути, .sublime- Файлы build — это данные конфигурации для внешней программы, а также для команды Sublime Text (только что упомянутой). В них вы указываете переключатели, параметры и информацию о среде, которую хотите пересылать.

Команда Sublime Text затем получает данные, хранящиеся в файле .sublime-build . На этом этапе он может делать все, что ему нужно, для сборки файлов. По умолчанию системы сборки будут использовать команду exec , реализованную Packages/Default/exec.py . Как объясняется ниже, вы можете переопределить эту команду.

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

Обратите внимание, что системы сборки могут, но не должны вызывать внешние программы; действительная система сборки может быть полностью реализована на Python с помощью команды Sublime Text.

Параметры¶

Параметры для конкретной системы

Эти параметры являются стандартными для всех системы сборки

target

Необязательно. Команда Sublime Text для запуска. По умолчанию — exec . ( Packages/Default/exec.py ). Эта команда получает данные полной конфигурации, указанные в файле .build-system (как ** kwargs ).

Используется для переопределить команду системы сборки по умолчанию. Обратите внимание: если вы решите переопределить команду по умолчанию для систем сборки, вы можете добавить произвольные переменные в файл .sublime-build .

selector
Необязательно. Используется, когда Tools | Система сборки | Автоматически установлено значение true .. Sublime Text использует этот селектор области видимости для поиска подходящей системы сборки для активного представления.
windows , osx и linux

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

См.

варианты

Необязательно. Список словарей параметров для переопределения параметров основной системы сборки. Имена вариантов появятся на палитре команд для облегчения доступа, если селектор системы сборки соответствует активному файлу.

См.

имя
Допустимо только внутри варианта (см. варианты ). Определяет системы вариантов сборки. Если name Run , вариант отобразится в разделе Инструменты | Меню сборки и привязка к Ctrl+Shift+B.

Произвольные параметры ¶

Из-за настройки target система сборки может содержать буквально любой параметр (ключ), который не является одним из параметров, уже перечисленных выше.

Обратите внимание, что все параметры ниже взяты из реализации по умолчанию exec (см.). Если вы измените параметр target , на них больше нельзя будет полагаться.

cmd

Массив, содержащий команду для запуска и ее требуемые аргументы. Если вы не укажете абсолютный путь, внешняя программа будет искать по вашему PATH , одной из переменных среды вашей системы.

В Windows графические интерфейсы пользователя подавлены .

file_regex
Необязательно. Регулярное выражение (в стиле Perl) для фиксации вывода ошибок cmd . Подробности см. В следующем разделе.
line_regex
Необязательно. Если file_regex не соответствует в текущей строке, но существует line_regex , и он соответствует в текущей строке, то переходите назад через буфер, пока не появится строка найдено соответствие регулярное выражение файла , и используйте эти два совпадения для определения файла и строки, к которой нужно перейти.
working_dir
Необязательно. Каталог, в который нужно изменить текущий каталог перед запуском cmd . Впоследствии исходный текущий каталог восстанавливается.
encoding
Необязательно. Кодировка вывода cmd . Должна быть допустимая кодировка Python. По умолчанию utf-8.
env

Необязательно. Словарь переменных среды, которые необходимо объединить с текущим процессом ‘перед их передачей в cmd .

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

shell
Необязательно. Если true , cmd будет запущен через оболочку ( cmd.exe , bash код> ...).
path

Необязательно. Эта строка заменит PATH текущего процесса перед вызовом cmd . После этого будет восстановлено старое значение PATH .

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

Захват вывода ошибок с помощью file_regex

Параметр file_regex использует регулярное выражение в стиле Perl для захвата до четырех полей информации об ошибке из вывода программы сборки, а именно: filename , номер строки , номер столбца и сообщение об ошибке . Используйте группы в шаблоне, чтобы зафиксировать эту информацию. Поле имя файла и поле номер строки являются обязательными.

После сбора информации об ошибке вы можете перейти к экземплярам ошибки в файлы вашего проекта с помощью F4 и Shift + F4 . Если доступно, захваченное сообщение об ошибке будет отображаться в строке состояния.

Параметры для конкретной платформы¶

Элементы windows , osx и linux позволяют предоставлять данные для конкретной платформы в системе сборки . Вот пример:

 {"cmd": ["ant"], "file_regex": "^ * \ [javac \] (.  +): ([0-9] +) :() (. *) $ "," Working_dir ":" $ {project_path: $ {folder}} "," selector ":" source.java "," windows "  : {"cmd": ["ant.bat"]}} 

В этом случае ant будет выполняться для все платформы, кроме Windows, где вместо него будет использоваться ant.bat .

Варианты¶

Вот надуманный пример системы сборки с вариантами

 {"selector": "source.python", "cmd": ["date"  ], "варианты": [{"name": "Список файлов Python", "cmd": ["ls -l * .py"], "shell": true}, {"name": "Количество слов (текущее  file) "," cmd ": [" wc "," $ file "]}, {" name ":" Run "," cmd ": [" python "," -u "," $ file "]}]  } 

При этих настройках Ctrl + B запустит команду date , Crtl + Shift + B запустит интерпретатор Python, а остальные варианты появятся в as Build: name всякий раз, когда система сборки была активна.

Системные переменные сборки¶

Системы сборки раскрывают следующее переменные в файлах .sublime-build :

$file_path Каталог текущего файла, e. g., C:Files.
$file Полный путь к текущему файлу, например. g., C: Files Chapter1. txt .
$ file_name Часть имени текущего файл, e. g., Chapter1.txt.
$file_extension Часть расширения текущего файла, например. g., txt.
$ имя_базы_файла Имя только части текущего файла, например. g., Документ.
$packages Полный путь к папке Packages .
$ project Полный путь к текущему файлу проекта.
$ project_path Каталог текущего файла проекта.
$ project_name Часть имени текущего файла проекта.
$ project_extension Часть расширения текущего файла проекта.
$ project_base_name Имя — только часть текущий файл проекта.

Заполнители для переменных¶

Функции, найденные во фрагментах, могут быть используется с этими переменными. Например:

 $ {project_name: Default} 

Это выдаст имя текущего проекта, если он есть, иначе По умолчанию .

 $ {file/. php/.  txt/} 

Это выдаст полный путь к текущему файлу, заменив .php на . txt .

См. также

Документация по сниппетам и их переменные функции.

Запуск систем сборки¶

Выберите желаемую сборку система из Инструменты | Сборка системы , а затем выберите Инструменты | Выполните сборку или нажмите F7.

Устранение неполадок в системах сборки¶

Сборка системы будут искать исполняемые файлы в вашем PATH , если вы не укажете абсолютный путь к исполняемому файлу. Следовательно, ваша переменная PATH должна быть правильно установлена.

В некоторых операционных системах значение для PATH будет отличаться от terminalwindow в графическое приложение. Таким образом, даже если команда, которую вы используете в вашей системе сборки, работает в командной строке, она может не работать из Sublime Text. Это связано с профилями пользователей в оболочках.

Чтобы решить эту проблему, сделайте убедитесь, что вы установили желаемый PATH , чтобы графические приложения, такие как Sublime Text, могли его найти. Для получения дополнительной информации см. Ссылки ниже.

В качестве альтернативы вы можете использовать ключ path в файлах .sublime-build , чтобы переопределить PATH используется для поиска исполняемого файла, указанного в cmd . Это новое значение для PATH будет действовать только до тех пор, пока когда ваша система сборки работает. После этого старый PATH будет восстановлен..

См. также

Найдите эту тему в базе знаний Microsoft.
Тема StackOverflow.
Оцените статью
techsly.ru
Добавить комментарий