Содержание

Настройки | Sublime Text

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

Для того, чтобы увидеть все доступные параметры, выберите пункт меню . В окне редактора откроется файл, который физически располагается тут: Packages/Default/Preferences.sublime-settings. Редактировать значения в нем крайне нежелательно, так как при следующем обновлении они скорее всего будут перезаписаны.

Основные настройки

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

{
    «tab_size»: 4,
    «translate_tabs_to_spaces»: false
}

Отдельные настройки для каждого языка

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

Настройки для проектов

Если вы используете проекты, то для них тоже можно переопределить некоторые параметры.
Подробнее на странице описания работы с проектами.

Настройка отвлеченного режима

Настройки отвлеченного режима из меню .

Параметры и горячие клавиши

Большинство опций, доступных в меню, переключаются сочетанием горячих клавиш. Но если нужный вам параметр такового не имеет, его можно задать самому. Для этого используется команда toggle_setting. Выберите пункт меню . Вставьте, например, следующий код:

[
  {
    «keys»: [«alt+w»],

    «command»: «toggle_setting»,
    «args»:
    {
      «setting»: «word_wrap»
    }
  }
]

Теперь, в текущем файле, при кажом нажатии altw будет включаться или отключаться перенос слов.

Если необходимо задать параметр со значением, используйте команду set_setting. Вставьте, например, следующий код:

[
  {
    «keys»: [«ctrl+k», «ctrl+c»],
    «command»: «set_setting»,
    «args»:
    {
      «setting»: «color_scheme»,
      «value»: «Packages/Color Scheme — Default/Cobalt.tmTheme»
    }
  }
]

Теперь, при последовательном нажатии двух сочетаний клавиш ctrlk, ctrlc в текущем файле подсветка синтаксиса переключится на тему Cobalt.

Приоритет файлов настроек

При конфигурации редактора следует иметь ввиду порядок, в котором файлы настроек переопределяют друг друга:

  1. Packages/Default/Preferences.sublime-settings
  2. Packages/Default/Preferences (<platform>).sublime-settings
  3. Packages/User/Preferences.sublime-settings
  4. <Project Settings>
  5. Packages/<syntax>/<syntax>.sublime-settings
  6. Packages/User/<syntax>.sublime-settings
  7. <Buffer Specific Settings>

Решение проблем

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

view.settings().get(‘font_face’)

Sublime Text 3 жив. (Настройка и работа) / Хабр

Sublime Text 3 — кроссплатформенный текстовый редактор.

Краткий гайд для начинающих работать в sublime и в сфере вёрстки. Тут собрано всё самое необходимое и важное. (По ссылкам найдёте больше, если это нужно)

Будем рассматривать его для Вёрстки на Pug / Less, где нам не нужен огромный функционал отладки. Поэтому именно этот редактор (по моему мнению) побеждает своих конкурентов как в скорости работы так и в функционале.

1. Установка программы и контроль за дополнениями (Package Control)


  1. Устанавливаем Sublime Text 3. Тут всё просто — качаем и запускаем.

Теперь нажимаем ctrl/⌘+shift+p или в меню (Tool > Command Palette).

Тут мы можем Скачивать, устанавливать, удалять, просматривать дополнения и т.д.

2. Настройки программы:


  1. Используем пробелы, вместо табов.
    «translate_tabs_to_spaces»: true
  2. Размер таба равен 4 пробела.
    «tab_size»: 4

    Вы спросите зачем?
    Что бы случайно не нажать пробел и таб вместе, и не сломать сборку pug.

    А так же для единообразия работы в команде.

  3. Строки не должны заканчиваться пустыми символами.
    Для этого используем плагин TrailingSpaces.

— Пожалуй на этом обязательные MustHave настройки заканчиваются. Перейдём к индивидуальным:


  1. Полноэкранный режим F11 + скрытие панели menu (alt). Позволяет максимально использовать монитор для работы и не отвлекаться на статус панели OS.
  2. Запрет переноса строки. Наверное лучшее свойство из перечисленных. Не даёт путаться в pug синтаксисе. Показывает всегда ожидаемый код и вложенность независимо от размера экрана. Горизонтальная прокрутка осуществляется shift + колёсико, (либо тачПанель)
    «word_wrap»: «false»
  3. Themes. Ничего не могу сказать по этому поводу. Просто найдите то, что нравится (желательно использовать тёмную схему). Я использую „theme“: „Material-Theme-Darker.sublime-theme“.
  4. Подсветка синтаксиса. Ну я думаю тут не должно быть проблем. Если следить, что бы расширение и подсветка совпадали (Pug for Pug, а не Jade for Pug)
  5. View → Side Bar → Hide Open Files — Освобождает пространство для дерева проекта. Т.к это поле так и так дублируется вкладками и тремя точками сверху

3. Полезные клавиши ‘hotkey’ :


  1. В первом пункте скажем, что пропустим все стандартные сочетания, такие как
    ctrl(⌘) + Z
    (⌘ — далее просто ctrl). Отменить, сохранить, повторить, закрыть вкладку, восстановить вкладку, и тд…
  2. Пожалуй следующее самое популярное сочетание это:
    crtl + P — Позволяет выполнить поиск по файлам открытого вами проекта. Позволяет избавится от огромного дерева открытых стилей.
  3. Следующее по важности:
    ctrl + D — Поиск копий выделенного текста. Идеально подходит для мульти-редактирования. И для поиска дублей. Особенно в больший файлах и больших фрагментов. Для мульти-курсора зажмите ctrl и используйте мышь.
  4. ctrl + L — Выделяет всю строку и позволяет удалить её полностью. Хорошо работает совместно с ctrl+D.
  5. Поиск… Ну наверное первое это ctrl+F — поиск по файлу. Второе и более важное это поиск в папке по множеству файлов ctrl + shift + F (Можно вызвать кликнув по папке правой кнопкой и выбрать ‘Find in folder…’) Советую не включать в поиск папку «Известного толстячка»
  6. ctrl + shift + up/down — Перемещает строку наверх/вниз (меняет их местами). Удобно для работы со стилями и переменными.
  7. Теперь небольшой туториал по комбинациям комбинаций клавиш. Вы наверное видели эти комбинации через запятую. Вот и я видел… а теперь я знаю как их использовать. Для этого по очереди нажимаем эти комбинации (можно не отпускать общую мод клавишу)
    Вот полезные из них:
  8. ctrl + K, ctrl + 4 — Скрывает все ветки, вложенность которых больше 4. Аналог стрелочки свернуть. (ctrl + K, ctrl + J — разворачивает всё что есть)
  9. ctrl + K, ctrl + B — Скрывает/показывает SideBar. (хорошо работает с F12)

Настройка sublime text 3 для верстки сайтов 2020

В данной статье мы разберем актуальную и удобную настройку самого лучшего редактора кода Sublime Text 3. В этом тексте не будет много слов, тут будет сжатый код и описание плагинов. После установки которых, Вы увидите совсем новый редактор — который будет радовать Вас при каждом открытии и будет максимально практичен.

Список плагинов:

*Для установки плагинов потребуется Package Control, откройте Sublime Text 3 -> Нажмите ctrl + shift + p -> Введите ‘inst‘ -> В выпадающем меню выберите ‘Install Package‘.

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

  • AdvancedNewFile — Удобное создание нового файла
  • All Autocomplete — Подсказка классов в CSS исходя из открытых файлов html
  • AutoFileName — Подсказка названия файла при вводе пути
  • Color Highlighter — Подсветка текущим цветом код цвета в CSS
  • ColorPicker — Удобный пикер)
  • Emmet — Не требует объяснений
  • JavaScript & NodeJS Snippets — Удобные подскази и поддержка NodeJS
  • Sass — Поддержка препроцессора Sass
  • Theme One Dark или Theme Gravity

После установки всех плагинов, вставьте данный код в файл настроек.

Чтобы открыть файл настроек в верхнем меню Sublime Text 3 выберите ‘Preferences‘ -> ‘Settings‘.

{
	"auto_complete": true,
	"bold_folder_labels": true,
	"color_scheme": "Packages/Theme - Gravity/Monokai Gravity v2.sublime-color-scheme",
	"fold_buttons": false,
	"font_face": "Fira Code",
	"font_size": 12,
	"gravity_tab_font_small": true,
	"gravity_tab_height_short": true,
	"highlight_line": true,
	"ignored_packages":
	[
		"Vintage"
	],
	"indent_guide_options":
	[
		"draw_normal",
		"draw_active"
	],
	"line_padding_bottom": 2,
	"line_padding_top": 2,
	"margin": 2,
	"show_definitions": true,
	"tab_size": 2,
	"theme": "Gravity.sublime-theme",
	"word_wrap": true
}

Большое спасибо за переход на наш проект. Если понравилось подпишись на наш

канал и начни обучение на htmllessons.ru.


Чтобы более подробно разобраться в данной теме «Настройка sublime text 3 для верстки сайтов 2020» советую посмотреть наше видео на эту тему:

Хочешь научиться создавать сайты? Изучи все на практике, с помощью интерактивных курсов у нас на проекте. Регистрация — Войти — Наши курсы. Задавайте вопросы в комментариях!

Первоначальная настройка Sublime Text / Тяпк

// Текст адресован студентам моих курсов.

1. Установка пакетного менеджера (Package Control)

В текущей версии Sublime Text 3 делается предельно просто. Выбираем пункт меню Tools -> Install Package Control Install Package Control 1

Дожидаемся сообщения об успешной установке Install Package Control 2

2. Установка пакета Emmet

Нажимаем клавиатурное сочетание Ctrl+Shift+P (также можно выбрать пункт меню Tools -> Command Palette), чтобы отобразился список команд. Install Sublime Package 1st step

Набираем команду Install Package Install Sublime Package 2nd step

Набираем название пакета Emmet Install Sublime Emmet Package 1st step

Дожидаемся успешной установки Install Sublime Emmet Package 2nd step

3. Несколько полезных пакетов Sublime Text 3

  • AutoFileName — автокомплит для названий файлов внутри проекта.
  • AdvancedNewFile — создание нового файла через Ctrl+Alt+N
  • BracketHighlighter — подсветка парного тега в HTML
  • Color Highlighter — превью цвета в файлах, например видеть #bce8f1.
  • Material Theme — красивая тема в стиле материального дизайна. Активируется командой «Material Theme: Activate Theme»
  • SideBarEnhancements — дополнительные команды контекстного меню для проводника

Установка всех пакетов аналогична установки пакета Emmet.

Файл настроек Sublime Text

Все индивидуальные настройки доступны в пункте меню Preferences -> Settings.

Описание настроек Sublime на русском

Мои настройки такие:

{
    "always_show_minimap_viewport": true,
    "bold_folder_labels": true,
    "color_scheme": "Packages/Material Theme/schemes/Material-Theme-Palenight.tmTheme",
    "fallback_encoding": "Cyrillic (Windows 1251)",
    "font_face": "Consolas",
    "font_options":
    [
        "gray_antialias",
        "subpixel_antialias"
    ],
    "font_size": 13,
    "ignored_packages":
    [
        "Vintage"
    ],
    "indent_guide_options":
    [
        "draw_normal",
        "draw_active"
    ],
    "line_padding_bottom": 3,
    "line_padding_top": 3,
    "material_theme_contrast_mode": true,
    "material_theme_panel_separator": true,
    "material_theme_tree_headings": true,
    "original_color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
    "overlay_scroll_bars": "enabled",
    "show_encoding": true,
    "show_line_endings": true,
    "theme": "Material-Theme-Palenight.sublime-theme"
}

Подготовка Sublime Text 3 к работе

Подготовка Sublime Text 3 к работе

30.12.2017 13:42 | Другое

Установка редактора под Windows не вызывает никаких затруднений – просто следуйте указаниям. Можно упомянуть только один нюанс – по ходу установки можно отметить чекбокс, чтобы добавить Sublime Text в контекстное меню операционной системы. Т.е. при клике правой клавишей мыши на каком-либо файле, его можно будет сразу открыть в данном редакторе.

Следующий шаг – установка Package Control. Зачем это нужно? Для полноценной работы потребуется некое количество плагинов и либо мы будем устанавливать их руками, либо за нас эту работу выполнит Package Control. Итак, идём на эту страницу и копируем код для Sublime Text 3. Возвращаемся в редактор и открываем консоль: View > Show Console или просто используем комбинацию клавиш Ctrl +`. Вставляем код в консоль и нажимаем Enter.

Установка и удаление плагинов и тем

Для установки выполняем следующие шаги:

  1. Открываем Package Control: Preferences > Package Control или Shift + Ctrl + P.
  2. В появившемся поле вводим install чтобы найти пункт Package Control: Install Package. Выбираем его и нажимаем Enter.
  3. В поле ввода появившейся панели набираем название нужного плагина, выбираем его в списке и снова Enter.

Чтобы удалить какой-либо из ранее установленных плагинов выполняем те же три действия, только во втором пункте вводим не install, а remove, так как нам нужен Package Control: Remove Package.

Темы устанавливаются так же, как и плагины. При этом добавится 4-й шаг: нужно зайти в Preferences > Settings и далее в Preferences.sublime-settings – User добавить тему. Если конкретнее, то добавить примерно такой код:

{
  "theme": "theme.sublime-theme"
}

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

Кто бы что ни говорил или писал, но для начала не помешает зайти на страничку популярных плагинов и выбрать те, которые подойдут непосредственно Вам. Также я бы порекомендовал перед установкой плагина ознакомиться с его документацией, потому как могут быть нюансы. Ну а ниже перечислю те плагины, которые использую сам:

EditorConfig

Работать приходится с разными проектами и с разными людьми. Дабы определить единый стиль кода и придерживаться его и нужен EditorConfig. Подробнее об этом плагине можно почитать здесь

SideBarEnhancement

Расширяет функционал сайдбара. Надо признать, что у самого Sublime этот функционал уж очень скуден.

SublimeCodeIntel

Довольно удобная штука – позволяет «прыгнуть» в файл и на строку определения класса или метода. И вот об упомянутых выше нюансах – до установки плагина надо убедиться, что CodeIntel установлен в вашей системе, о чём подробнее в документации.

BracketHighlighter

Подсвечивает парные скобки и теги.

PHP Companion

Позволяет добавлять namespace, оператор use и т.д. нажатием одной клавиши. Привязки клавишам нужно писать самому, но можно использовать авторские. Для этого открываем Preferences > Key Bindings, вставляем во вкладку Default.sublime-keymap – User этот код и сохраняем.

DocBlockr

Я противник комментариев как таковых – если понимаешь, что надо написать комментарий к коду, то тут надо не комментарии писать, а код переписывать. Но это не касается комментариев DocBlock, написание которых и упрощает данный плагин.

TrailingSpaces

Подсвечивает пробелы в конце строк и может удалять их при сохранении. По умолчанию опция удаления отключена. Чтобы её включить, надо зайти в Preferences > Package Settings > Trailing Spaces > Settings User и вставить следующее:

{
  "trailing_spaces_trim_on_save": true
}
A File Icon

В сайдбаре к названиям файлов добавляет иконки. Так воспринимать информацию гораздо удобнее.

Emmet

Незаменимая вещь для вёрстки, значительно ускоряет процесс, позволяя расширять табом аббревиатуры HTML, XML, HAML и CSS/SASS/LESS/Stylus. Если раньше не работали с Emmet, то на первых порах будет полезна вот эта шпаргалка.

Autoprefixer

Ещё один очень полезный инструмент для фронтенда. Не надо больше думать о вендорных префиксах – плагин их вставляет в соответствии с данными caniuse.com. Работает только с препроцессорами CSS, SCSS и требует предустановленного NodeJS. Подробнее здесь. Я добавляю префиксы для двух последних версий браузеров, то бишь мои настройки такие:

{
  "browsers": ["last 2 versions"]
}
Color Highlighter

Полагаю, из названия уже понятно о чём речь. Поставляется вместе с конвертором цветов. Настроек достаточно, поэтому следует почитать доки.

С основными плагинами вроде всё. Что касается конкретных фреймворков или библиотек– тут уж кто с чем работает. Можно лишь сказать, что, как минимум, помимо подсветки желательно также ставить и плагины сниппетов. Лично у меня ещё установлены:
Laravel Blade Highlighter, Blade Snippets, Babel, Babel Snippets, Vue Syntax Highlight, Vuejs Snippets, Sass, LESS, Pug.

Следует упомянуть такие плагины как Git или Laravel Artisan, но им я всё-таки предпочитаю консоль.

О горячих клавишах

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

Ctrl + D Выделить слово, в котором курсор
Ctrl + Shift + M Выделить содержимое скобок
Ctrl + F Поиск в файле
Alt + Enter Выделить всё найденное (после поиска)
Ctrl + / Закомментировать строку
Ctrl + Shift + / Закомментировать блок кода (в котором находится курсор)
Ctrl + S Сохранить
Tab Добавить отступ
Tab + Shift Удалить отступ
Ctrl + Shift + D Продублировать строку/фрагмент
Ctrl + Shift + ↑ Поднять строку вверх
Ctrl + Shift + ↓ Опустить строку вниз
Ctrl + Shift + Enter Вставить строку выше курсора
Ctrl + Enter Вставить строку ниже курсора
Ctrl + P Переход к файлу в проекте

И в завершение. Из редактора IDE не слепить, но с другой стороны – а нужно ли? Я пробовал NetBeans, Eclipse, PhpStorm, но в итоге (наряду с последним) всё равно продолжаю пользоваться Sublime. Этот быстрый на подъём и шустрый редактор меня полностью устраивает.

Настройка Sublime Text 3 для работы с VHDL файлами / Хабр

Работа с VHDL в Sublime Text 3


Редактор Sublime Text существенно экономит время при работе с vhdl и verilog файлами. Для тех, кто не работал с редакторами типа Sublime Text, Notepad++ и т.п. опишу основные полезные функции данных редакторов:
  • множественное выделение/редактирование строк кода (нажатие средней кнопки мыши или при зажатой клавише Ctrl)
  • установка меток (закладок) в коде, помогает ориентироваться в больших файлах. (Ctrl + F2 или через пункт меню Goto→ Bookmarks)
  • возможность разделения рабочей области на несколько окон (Alt + Shift + 2 или из меню View→ Layout)
  • открытие одного файла несколько раз (File→ New View into File)
  • комментирование выделенных строк кода (Ctrl + /)
  • поиск и замена (Ctrl + h)
  • поиск по всем открытым файлам (Ctrl+Shift+f)
  • вставка сниппетов (шаблонов кода) (написать ключевое слово + клавиша Tab)
  • написание и использование функций на языке python
  • возможность установки различных дополнений
  • гибкая настройка

Интеграция Sublime Text


Для начала состыкуем САПР для работы с ПЛИС и редактор Sublime.

Плагины


Различные плагины (packages) расширяют функциональность редактора. Packages можно
устанавливать как в онлайн так и оффлайн-режиме.

Для установки плагинов в офлайн-режиме нужно проделать нехитрые манипуляции:

  1. Скачиваем нужный плагин с GitHub
  2. Извлекаем из архива
  3. Переименовываем папку, например, «Sublime-HDL-master» в «Sublime HDL»
  4. Полученные папки копируем в папку Packages (расположение данной папки легко найти, выбрав в Sublime Text пункт меню Preferences → Browse Packages)

SyncViewScroll — плагин для синхронизации вертикальной и горизонтальной прокрутки при работе в нескольких окнах. Для работы плагина надо для каждого окна выбрать в меню View→ Sync Scroll.

Text Pastry – плагин для автоматической множественной нумерации. Очень помогает при работе с большим количеством нумерованных сигналов/портов.

Как работать с Text Pastry
  1. Выделяем нужные участки строк
  2. Вызываем меню Ctrl+Shift+P
  3. Ищем пункт “Text Pasty Command Line”
  4. В появившемся окне, расположенном в нижней части экрана, вводим:
    • 0 — нумерация от 0
    • \i(1,10) — нумерация от 1 с инкрементом 10
    • 1 end=4 — нумерация 1, 2, 3, 4, 1, 2, 3, 4 и т.д.
    • letters a-c upper — A, B, C, A, B, C, и т.д.
    • letters a-c upper x3 — A, A, A, B, B, B, C, C, C и т.д.
    • 1 x3 — 1, 1, 1, 2, 2, 2, 3, 3, 3, и т.д.
    • x y z — x, y, z, x, y, z, x, y, z, и т.д.



Sublime Verilog — поддержка синтаксиса языка Verilog

Verilog Gadget – набор функций и сниппетов для работы с Verilog файлами.

SmartVHDL — поддержка синтаксиса языка VHDL. Также при наведении на сигнал или порт в коде появится окно с подсказкой о типе (количество бит) данного сигнала/порта. При наведении на сигнал в контекстном меню появится пункт “Goto Definishion” — переход к месту объявления сигнала.

VHDL Mode – набор функций и сниппетов для работы с VHDL файлами. Основная часть функций запускается, например, сочетанием клавиш Atl+K, C, P, где C и P нажимаются поочередно. Основные функции:

  • Копирование данных портов (названия портов, типы данных)
  • Вставка данных портов как объявление сигналов
  • Вставка данных портов как объявление компонента
  • Генерация тестбенча по скопированным данным портов
  • Автоформатирование кода (выравнивание табуляции и т.п.)

Поддержка ucf файлов


По умолчанию редактор Sublime не у меет работать с ucf-файлами. Разметка ucf эквивалентна разметке языка tcl. Осталось только объяснить это редактору:
  • Создадим в папке Packages новый файл Tcl.sublime-settings
  • Заполним файл строкой
    {"extensions" : ["ucf"]}
  • Сохраним файл

Создание шаблонов кода (snippets)


Пусть нам надо вставить шаблон кода:
My_proc : Process(clk, rst, data_in) 
begin
  if(clk'event and clk = '1') then
    if(rst = '1') then    
  			
    else then -- rst = 0
        
    end if; -- data_in
  end if;--clk
end process My_proc;

Причем нам бы хотелось, чтобы после вставки текста по нажатию Tab курсор устанавливался на позиции My_proc, clk, rst, data_in, для быстрого изменения значений этих данных. Для этого создадим новый сниппет:Tools → Developer → New Snippet. Редактируем данные:
<snippet>
  <description>process rst</description>
  <content><![CDATA[
${1:<PROCESS_NAME>} : Process(${2:clk}, ${3:rst}, ${4:data_in}) 
begin
  if($2'event and $2 = '1') then
    if($3 = '1') then    
      ${5}	
    else then -- $3 = 0
      $0
    end if; -- $4
  end if;--$2
end process $1;
]]></content>
  <tabTrigger>procrst</tabTrigger>
  <scope>source.vhdl</scope>
</snippet> 

Сохраняем данный сниппет. Теперь при написании ключевого слова procrst в текущую позицию курсора будет вставлен наш шаблон.

Подробнее о создании шаблонов читайте в статье «Как создать сниппет?».

Написание собственных функций на языке python


Подробно о создании функций (плагинов) описывалось в статьях «Как написать простой плагин», «Как написать сложный плагин».

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

Для парсинга данных файла VHDL воспользуемся функциями плагина Vhdl mode.

Примерный алгоритм наших действий:

  1. Получить данные о всех портах модуля
  2. Все порты типа «in» включить в шапку процесса
  3. Если есть порты с названием ce и/или rst, то добавить соответствующие условия if else в процесс
  4. За процессом вставить строки присвоения выходным портам значений внутренних сигналов (обычно такие сигналы называют также как и порт, добавляя приставку «s_» или «_net»)

Для начала создадим новый сниппет:
<snippet>
  <tabTrigger>procclk</tabTrigger>
  <scope>source.vhdl</scope>
  <content><![CDATA[
${DATAINPORTS}

${OUTPORTS}
]]></content>
  <description>process clk</description>
</snippet>

Здесь ${DATAINPORTS} – метка, куда будет вставлено описание процесса,
${OUTPORTS} — метка, где будет присвоение внешним выходным портам значений внутренних сигналов.

Сохраним его под именем, например, test.sublime-snippet в папку VHDL Mode/Snippets.
Воспользуемся написанными функциями в папке VHDL Mode. Так как знания языка python у меня начальные, то будем модифицировать функции плагина, по аналогии с уже описанными в нем.

Создадим в файле vhdl_lang.py новые функции в классе Interface(), назовем их in_port и out_port:

Функции
def in_port(self):
  """
  Generate Process depending on the input ports
  """
  lines = []
  bus_index = ""       
  
  max_data = ""
  my_ports = ""
  is_clk = False
  is_ce = False
  is_rst = False
  if self.if_ports:            
      for port in self.if_ports:            
          if port.mode.lower() == 'in':
              if port.name.lower() == ('clk'):                       
                  is_clk = True
                  my_ports = port.name                        
              else: 
                  if port.name.lower() == ('ce'):
                      is_ce = True                           
                  elif port.name.lower() == ('rst'):
                      is_rst = True                                                   
                  my_ports = my_ports + ", " + port.name                
                
      lines.append("Process("+ my_ports +')' )
      lines.append("begin")
      if is_clk:            
          lines.append("  if(clk'event and clk = '1') then")
          lines.append("")
          if is_rst and is_ce:
              lines.append("if(rst = '1') then")
              lines.append("")
              lines.append("elsif (ce = '1') then")
              lines.append("")
              lines.append("end if; -- rst")
          elif is_rst:
              lines.append("if(rst = '1') then")
              lines.append("")
              lines.append("else -- working body ")
              lines.append("")
              lines.append("end if; -- rst")
          elif is_ce:
              lines.append("if (ce = '1') then")
              lines.append("")
              lines.append("end if; -- 
          lines.append("  end if;--clk")
      lines.append("end process;")
      # lines.append(str(testind
      indent_vhdl(lines, 1)
      return '\n'.join(lines)
  else:
      return None


def out_port(self):
  """
  Generate data after Process
  """
  lines = []
  if self.if_ports:            
      for port in self.if_ports:            
          if port.mode.lower() == 'out':
              lines.append("{} <= {}_net;".format(port.name, port.name))
      indent_vhdl(lines, 1)
      return '\n'.join(lines)
  else:
      return None 


Функция out_port вставляет за процессом строки, например:
data_out1
data_out2

Создадим в папке VHDL Mode новый файл, назовем его my_func.py, вставим текст:

import sublime
import sublime_plugin
from.import vhdl_interface as face

class PasteAsProcess(sublime_plugin.TextCommand):
    def run(self, edit):
        snippet_clk = "Packages/VHDL Mode/Snippets/test.sublime-snippet"
        in_port_str = face._interface.in_port()
        out_port_str = face._interface.out_port()

        self.view.run_command("insert_snippet",
            {
              "name"     : snippet_clk,
              "DATAINPORTS" : in_port_str,
              "OUTPORTS" : out_port_str
            })

        print('paste_as_process')

Осталось присвоить горячие клавиши. Так как наш класс называется PasteAsProcess, то команда должна называться paste_as_process (перед символами, кроме первого, написанными в верхнем регистре нужно поставить знак нижнего подчеркивания).

Идем Preferences → Key Bildings. Вставляем строку:

{"keys": ["alt+k", "p", "z"], "command": "paste_as_process",    "context": [{"key": "selector", "operand": "source.vhdl"}] },

Теперь для работы нам надо сначала скопировать значения портов vhdl файла сочетанием клавиш «alt+k», «p», «w» (по умолчанию). Затем вызвать нашу функцию клавишами «alt+k», «p», «z».

Вывод


Сниппеты и функции значительно упрощают работу с vhdl файлами.

Даже начальных знаний языка python достаточно для написания простых, но рабочих функций.

P.S.: Оставлю ссылку на папку с моими настройками. Для работы, надо заменить папку Sublime Text 3 по адресу: C:\Users\User\AppData\Roaming\

Мои сниппеты:

  • sint (Signal integer), sstd, svector — шаблоны описания сигналов соответствующего типа
  • ibuf, ibufds и т.д. — описание буферов
  • generichelp — подсказка пример, как правильно применить generic
  • teststd, testvector и т.д. — процессы для тестбенча с сответствующими типами данных
  • procclk, procce, procrst — процессы с сигналами clk, ce, rst
  • clk, net, inst — шаблоны для ucf файлов

Мои функции:
  • Cвязка Alt+K,C,P (Copy Ports), Alt+K,P,Z — вставка процесса описанного с этой статье
  • Cвязка Alt+K,C,P (Copy Ports), Alt+K,P,T (Paste Testbench) — переделал функцию плагина VHDL MODE, теперь генерируются тестовые процессы для всех входных сигналов

Настройка LaTeX в Sublime Text / Хабр

Ниже представлено руководство по установке текстового редактора Sublime Text, с последующим добавлением в него возможности использования системы компьютерной вёрстки LaTeX. В качестве бонуса научим его понимать язык Julia.



  1. На сайте откройте вкладку All downloads
  2. Выберите пункт Net Installer в зависимости от разрядности вашей системы
  3. Нажмите Download и дождитесь загрузки онлайн-установочника
  4. Внимательно непрочитав пользовательское соглашение поставьте флажок на пункте Download MiKTeX
  5. При использовании прокси введите свои надстройки в Connection settings…
  6. На следующем этапе выберите Complete MiKTeX
  7. Выбрав сервер (желательно один из верхних российских) и задав директорию, дождитесь загрузки необходимых файлов
  8. Снова выполните пункт 4, но на этот раз выбрав Install MiKTeX
  9. После завершения установки, запустите TeXworks через Пуск
  10. Откройте в нём любой документ формата .tex или создайте новый
  11. В раскрывающемся меню выберите pdfLaTeX и кликните по расположенному рядом треугольнику в зеленом кружке

Произойдет компиляция и создание PDF-файла. Используя TeXworks можно приступать к полноценной работе, например, используя LaTeX можно весьма эффективно собрать диплом или диссертацию ( Готовые шаблоны)

Гораздо удобнее использовать LaTeX посредством Sublime Text. Помимо удобной подсветки и автозаполнения, здесь можно посмотреть изображение или набираемую формулу не выполняя компиляции, то есть видеть результат во время набора. К слову, в Sublime Text можно набирать (а если добавить соответствующие плагины, то и выполнять) коды программ множества языков программирования и разметок: С/С++, Java, MATLAB, PHP, HTML…



  1. Скачиваем и устанавливаем Sublime Text 3
  2. Скачиваем и устанавливаем Sumatra PDF. Эта легковесная программа позволяет просматривать PDF-документы, DJVU, FB2 и т.д.
  3. Запустив Sublime Text, откройте командную строку нажатием Ctrl+shift+p и начинайте вводить Package Control: Install Package, а когда он появится — щёлкните и дождитесь установки связи с репозиториями
  4. Если же по каким-то причинам Package Control отсутствует, откройте консоль нажатием *ctrl+` (Ё) и скопируйте туда заклинание на парселтанге, которое можно найти на странице плагина Package Control, нажмите Enter и перезапустите Sublime Text.
  5. В списке плагинов вводите LaTeXTools и, при появлении его в списке, щёлкните и дождитесь, пока пройдет установка.
  6. Далее инициируем настройки по умолчанию: Preferences/ Package Settings/ LaTeXTools/ Reset user settings to default, а затем там же Check System
    Если все надписи позеленели, значит Sublime Text подружился с Sumatra и LaTeX, и теперь можно создавать или редактировать tex-документы. При нажатии ctrl+В происходит трансляция и, если нет ошибок, открывается свёрстанный PDF. Ctrl+shift+В — выбор типа сборки.

Подробней про LaTeXTools

Найти в сети пособия по LaTeX себе по вкусу не составит труда (Например: Самоучитель, Вики). Также будет полезным использовать онлайн-редактор формул пока команды не отложатся в памяти.


В Package Control: Install Package набираем Julia, скачиваем плагин и теперь во вкладке View / Syntax среди прочих языков появилась Джулиа, а значит теперь можно набирать программы на этом языке с подсветкой и греческими буквами (\delta + press tab), а также сохранять файлы в формате .jl.

При сохранении файлов будет удобно внутри производить разбиение на модули:

module somename
# functions, variables
# and some things
end

Код набранный в Sublime text и сохраненный в формате .jl можно выполнять в REPL

# указываем путь к файлу
cd("C:\\Users\\User\\Desktop")
# подключаем файл
include("MDPSO.jl")
# теперь доступны все модули и функции 
# содержащиеся в каждом из них
PSO.parabol([2,3,5])

На этом окончим небольшое руководство. Всем удобной вёрстки и приятной подсветки!

Настройки

— Документация Sublime Text 3

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

Настройки

Доступ к настройкам осуществляется через пункт меню. Левая панель содержит все настройки по умолчанию, а также их описание. На правой панели можно сохранить настройки.

Категории

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

  • Настройки редактора : Эти настройки влияют на поведение и функциональные возможности при редактировании текста в файле. Примеры включают font_face, tab_size и spell_check. Эти настройки представлены в первом разделе файла настроек по умолчанию.
  • Настройки пользовательского интерфейса : Эти настройки влияют на общий пользовательский интерфейс во всех открытых окнах. Примеры включают тему, animation_enabled и overlay_scroll_bars. Эти настройки представлены во втором разделе файла настроек по умолчанию.
  • Параметры поведения приложения : Эти параметры влияют на поведение приложения во всех открытых окнах.Примеры включают hot_exit, index_files и ignored_packages. Эти настройки представлены в третьем разделе файла настроек по умолчанию.

Параметры пользовательского интерфейса и параметры поведения приложения являются глобальными для всего приложения и не могут контролироваться ни с помощью файла настроек, специфичного для синтаксиса, ни с помощью ключа настроек в проекте .sublime.

Файлы настроек

Файлы настроек просматриваются в следующем порядке:

  1. Пакеты / Default / Preferences.возвышенная-настройка
  2. Пакеты / По умолчанию / Предпочтения (<платформа>). Sublime-settings
  3. Пакеты / Пользователь / Preferences.sublime-settings
  4. <Настройки проекта>
  5. Пакеты / <синтаксис> / <синтаксис> .sublime-настройки
  6. Пакеты / Пользователь / <синтаксис>.возвышенные настройки
  7. <Настройки для конкретного буфера>

В общем, вам следует разместить свои настройки в Packages / User / Preferences.sublime-settings, который открывается в правой панели при выборе пункта меню. Если вы хотите указать настройки для определенного типа файла, например Python, вы должны поместить их в Packages / User / Python.sublime-settings. Доступ к нему можно получить через правую панель, когда файл Python открыт и выбран пункт меню.

Настройки для конкретного синтаксиса

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

Вы можете изменить настройки синтаксиса текущего файла, выбрав соответствующий пункт меню.

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

Настройки для каждого проекта

Настройки могут быть установлены для каждого проекта, подробности в документации по проекту.

Обратите внимание, что в настройках проекта можно указать только Настройки редактора.

Настройки без отвлекающих факторов

В режиме без отвлечения применяется дополнительный файл настроек (Distraction Free.sublime-settings).Вы можете разместить здесь настройки файла, чтобы они применялись только в режиме без отвлечения внимания — доступ к нему из пункта меню.

Изменение настроек с помощью привязки клавиш

Команду toggle_setting можно использовать для переключения настройки. Например, чтобы создать привязку клавиш, которая переключает параметр word_wrap в текущем файле, вы можете использовать (in):

  {
    "ключи": ["alt + w"],
    "команда": "toggle_setting",
    «арг»:
    {
        "setting": "word_wrap"
    }
}
  

Команду set_setting можно использовать для установки определенного значения.Например, эта привязка клавиш заставляет текущий файл использовать цветовую схему Cobalt:

  {
    "ключи": ["ctrl + k", "ctrl + c"],
    "команда": "set_setting",
    «арг»:
    {
        "setting": "color_scheme",
        "value": "Пакеты / Цветовая схема - По умолчанию / Cobalt.tmTheme"
    }
}
  

Измененные здесь настройки относятся к конкретным настройкам буфера: они отменяют любые настройки, помещенные в файл настроек, но применяются только к текущему файлу.

Поиск и устранение неисправностей

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

  view.settings (). Get ('font_face')  
,Настройки

— Документация Sublime Text 2

Настройки — Документация по Sublime Text 2

Содержание

ПРЕДУПРЕЖДЕНИЕ! Эта документация предназначена для старой неподдерживаемой версии возвышенного текста. Пожалуйста, проверьте текущую документацию.

Обзор

Sublime Text 2 имеет множество различных настроек для настройки его поведения. Настройки изменяются путем редактирования текстовых файлов: хотя это немного сложнее, чем использование графического интерфейса, вы получаете гибкую систему.

Настройки

Чтобы увидеть, какие настройки доступны, и описание каждого, взгляните на Packages / Default / Preferences.возвышенная-настройка. Вы можете получить доступ к этому файлу из пункта меню.

Когда вы найдете некоторые настройки, которые хотите изменить, добавьте их в свои Пользовательские настройки (доступные из меню), чтобы они сохранялись при обновлении.

Файлы настроек

Файлы настроек просматриваются в следующем порядке:

  1. Пакеты / По умолчанию / Preferences.sublime-settings
  2. Пакеты / По умолчанию / Настройки (<платформа>). Sublime-settings
  3. Пакеты / Пользователь / Настройки.возвышенные настройки
  4. <Настройки проекта>
  5. Пакеты / / .sublime-settings
  6. Пакеты / Пользователь / .sublime-settings
  7. <Настройки для конкретного буфера>

В общем, вы должны поместить свои настройки в Packages / User / Preferences.sublime-settings. Если вы хотите указать настройки для определенного типа файла, например Python, вы должны поместить их в Packages / User / Python.sublime-settings.

Пример файла настроек

Попробуйте сохранить это как Packages / User / Preferences.sublime-settings.

{
    "tab_size": 4,
    "translate_tabs_to_spaces": ложь
}
 

Параметры синтаксиса

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

Вы можете редактировать настройки для текущего синтаксиса, используя меню.

Настройки для каждого проекта

Настройки могут быть установлены для каждого проекта, подробности в документации проекта

Настройки без отвлекающих факторов

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

Изменение настроек с помощью привязки клавиш

Команду toggle_setting можно использовать для переключения настройки. Например, чтобы создать привязку клавиш, которая переключает параметр word_wrap в текущем файле, вы можете использовать (in):

{
    "ключи": ["alt + w"],
    "команда": "toggle_setting",
    «арг»:
    {
        "setting": "word_wrap"
    }
}
 

Команда set_setting может использоваться для установки определенного значения.Например, эта привязка клавиш заставляет текущий файл использовать цветовую схему Cobalt:

{
    "ключи": ["ctrl + k", "ctrl + c"],
    "команда": "set_setting",
    «арг»:
    {
        "setting": "color_scheme",
        "value": "Пакеты / Цветовая схема - По умолчанию / Cobalt.tmTheme"
    }
}
 

Измененные здесь настройки относятся к конкретным настройкам буфера: они переопределяют любые настройки, помещенные в файл настроек, но применяются только к текущему файлу.

Поиск и устранение неисправностей

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

view.settings (). получить ( 'font_face')
 
,

Sublime Text — сложный текстовый редактор для кода, разметки и прозы

Некоторые особенности наших пользователей люблю :

Перейти к чему угодно

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

Активируется с помощью Ctrl + P + P , можно:

  • Введите часть имени файла, чтобы открыть его.
  • Введите @ для перехода к символам, # для поиска в файле и : для перехода к номеру строки.

Эти ярлыки можно комбинировать, поэтому tp @ rf может перенаправить вас к функции read_file в файле text_parser.py. Аналогично, tp: 100 приведет вас к строке 100 того же файла.

Перейти к определению

Используя информацию из определений синтаксиса, Sublime Text автоматически генерирует индекс проекта для каждого класса, метода и функции.Этот индекс поддерживает Goto Definition, который предоставляется тремя различными способами:

  • Всплывающее окно отображается при наведении курсора на символ
  • Нажатие F12 , когда курсор находится на символе
  • Символ перехода в функциональные возможности проекта
Индексирование символов

можно настроить для каждого синтаксиса с помощью файлов конфигурации, что позволяет пользователям адаптировать функцию к своим потребностям.

Множественный выбор

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

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

Панель команд

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

Показать палитру команд с помощью Ctrl + Shift + P + + P .

Мощный API и экосистема пакетов

Sublime Text имеет мощный Python API, который позволяет плагинам расширять встроенную функциональность.

Package Control может быть установлен с помощью палитры команд, обеспечивая простой доступ к тысячам пакетов, созданных сообществом.

Настроить что угодно

Привязки клавиш, меню, фрагменты, макросы, дополнения и многое другое — практически все в Sublime Text настраивается с помощью простых файлов JSON.Эта система дает вам гибкость, поскольку настройки могут быть указаны для каждого типа файла и для каждого проекта.

Раздельное редактирование

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

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

Мгновенное переключение проекта

Проекты в Sublime Text захватывают все содержимое рабочей области, включая измененные и несохраненные файлы. Вы можете переключаться между проектами аналогично Goto Anything, причем переключение происходит мгновенно, без запросов на сохранение — все ваши изменения будут восстановлены при следующем открытии проекта.

Производительность

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

Кросс-платформенный

Sublime Text доступен для Mac, Windows и Linux. Одна лицензия — это все, что вам нужно для использования Sublime Text на каждом вашем компьютере, независимо от того, какую операционную систему он использует.

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

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

— Документация Sublime Text 3

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

Системы сборки указываются через JSON и сохраняются в файле с расширение .sublime-build. Новая система сборки можно создать с помощью пункта меню или команды Build: New Build System палитра входа.

У систем сборки есть разные способы ассоциирования с файлами и проектами. Используя эту информацию, Sublime Text может интеллектуально отображать для пользователя только жизнеспособные системы сборки. встроенная цель exec предоставляет общие параметры для получения работает быстро. Для более сложных требований соберите системы может настраивать пользовательские команды Sublime Text, написанные на Python.

Базовый пример

Ниже приведен базовый пример системы сборки.\\ s * Файл \ «(… *?) \», строка ([0-9] *) » }

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

Использование

Системы сборки включают в себя следующие функции:

  • Автоматический выбор системы сборки на основе типа файла
  • Запоминание последней использованной системы сборки
  • Навигация по результатам системы сборки
  • Возможность отменить сборку

Запуск сборки

Сборку можно запустить одним из следующих способов:

Клавиатура Меню
Windows / Linux Mac Все
Ctrl + В + B F7

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

Выбор системы сборки

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

Если текущему типу файла соответствует несколько систем сборки, пользователю будет предложено выбрать желаемую систему сборки использовать.После выбора системы сборки Sublime Text запомнит до тех пор, пока пользователь не изменит свой выбор.

Чтобы вручную выбрать систему сборки, используйте:

Чтобы изменить систему сборки в пределах возможных вариантов, используйте один из следующих способов:

Клавиатура Меню Палитра команд
Windows / Linux Mac Сборка с:
Ctrl + Сдвиг + B + + B

Навигация по результатам

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

Команда Клавиатура Меню
Следующий результат F4
Предыдущий результат Сдвиг + F4

Отмена сборки

Незавершенную сборку можно отменить с помощью:

Клавиатура Меню Палитра команд
Windows / Linux Mac Сборка: Отмена
Ctrl + Перерыв Ctrl + С

Опции

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

селектор
Базовое имя области синтаксиса, используемого этой системой сборки должен быть включен для.
Пример: "source.python" .
file_patterns
Список шаблонов имен файлов, в которых должна быть включена система сборки для.
Пример: ["* .py"] .
ключевых файла
Список имен файлов, если они есть в одной из открытых папок, это приведет к включению системы сборки.
Пример: ["Makefile"] .
варианта
Список вспомогательных систем сборки, которые унаследуют параметры из системы сборки верхнего уровня.Каждый вариант должен указывать имя ключ и может переопределить или добавить параметры к система сборки верхнего уровня.
Пример:
  [
    {
        "name": "Символы отладки",
        "cmd": ["my_command", "-D", "$ file"]
    }
]
  
отменить
Имя строковой команды или список строковых параметров. Если строка указано, указанная команда будет использоваться для отмены строить.Если список строк, основная цель будет быть вызванным, с добавлением этих опций. Это только должно быть указывается при использовании настраиваемой цели .
Пример: "cancel_my_build" или {"kill": true} .
цель
Команда, запускаемая при вызове системы сборки.По умолчанию значение exec позволяет использовать дополнительные параметры, указанные в exec Целевые параметры. Если значение, отличное от exec , указано, ни одна из опций в exec Target Options сделает все, что угодно. Увидеть Расширенный пример для полного пример.
Пример: "my_build"
окна
Объект параметров для использования при выполнении системы сборки на машине с Windows.
Пример:
  {
    "cmd": ["my_command.exe", "/ D", "$ file"]
}
  
osx
Объект параметров для использования при выполнении системы сборки на компьютере Mac.
Пример:
  {
    "cmd": ["/Applications/MyProgram.app/Contents/MacOS/my_command", "-d", "$ file"]
}
  
Linux
Объект параметров для использования при выполнении системы сборки на машине Linux.
Пример:
  {
    «cmd»: [«/ usr / local / bin / my_command», «-d», «$ file»]
}
  

exec Целевые параметры

По умолчанию target из exec используется большинство систем сборки. Он предоставляет следующие возможности для контролировать, какую программу выполнять и как отображать результаты.

cmd
Список строк, определяющих исполняемый файл для запуска, а также любые аргументы, которые нужно передать ему. Конструкции оболочки, такие как трубопроводы и перенаправление не поддерживаются — см. shell_cmd. май использовать переменные.
Пример: ["my_command", "-d", "$ file"]
shell_cmd
Строка, определяющая команду оболочки для выполнения.в отличие от cmd, это позволяет трубопровод и перенаправление. Будет использовать bash на Mac и машина Linux, и cmd.exe в Windows. май использовать переменные.
Пример: "моя_команда \" $ файл \ "| другая_команда"
рабочий_директор
Строка, определяющая каталог для выполнения cmd или shell_cmd внутри.май использовать переменные.
Пример: "$ file_path"
file_regex
Строка, содержащая регулярное выражение для запуска при сборке. вывод для соответствия информации о файле. Соответствующая информация о файле используется для включения навигации по результатам. Регулярное выражение должно захватывать 2, 3 или 4 группы.

Группы захвата должны быть:

  1. имя файла
  2. номер строки
  3. номер столбца
  4. сообщение
Пример: "^ \ s * (\\ S [^:] *) \\ ((\\ d +): (\\ d +) \\): ([^ \\ n] +») «
line_regex
Строка, содержащая регулярное выражение для запуска при сборке. вывод для соответствия информации о строке.Соответствующая информация о файле используется для включения навигации по результатам. Регулярное выражение должно захватывать 1, 2 или 3 группы.

Группы должны захватить:

  1. номер строки
  2. номер столбца
  3. Сообщение об ошибке
Это регулярное выражение необходимо, только если некоторые результаты содержат строго номер строки, номера строки и столбца или строки и столбца номера с сообщением.\\ n] +) «

кодировка
Строка, определяющая кодировку вывода системы сборки. Пользы питон имена кодеков. По умолчанию "utf-8" .
Пример: "iso-8859-1"
ок.
Объект, содержащий значения переменных среды для использования при запуск cmd или shell_cmd.
Пример:
 {
    «ПИТОНИОЭНКОДИРОВАНИЕ»: «utf-8»
}
 
тихий
Логическое значение, уменьшающее объем вывода о системе сборки. призывание.
Пример: правда
word_wrap
Логическое значение, которое включает перенос слов на панели вывода системы сборки.
Пример: правда
синтаксис
Строка, определяющая файл синтаксиса, который будет использоваться для выделения сборки. панель вывода системы.
Пример: «Пакеты / JavaScript / JSON.sublime-syntax»

Пользовательские параметры

При реализации команды, действующей как цель системы сборки, аргументы ключевого слова команды доступны через опции в .возвышенный файл сборки. Тем не мение, определенные имена параметров не будут работать, поскольку они конфликтуют со встроенной функциональностью системы сборки.

Следующие имена не будут переданы в качестве аргументов в команды. Это также относится к другим ситуациям, таким как варианты, указанные в , отменить , linux , osx и вариантов окон .

  • отменить
  • file_patterns
  • ключевой файл
  • ключевых файлов
  • Linux
  • OSX
  • save_untitled_files
  • селектор
  • цель
  • вариантов
  • окна

Переменные

Следующие переменные будут раскрыты в любой указанной строке в "cmd" , "shell_cmd" или "рабочий_директор" опций.

Если в одном из них необходимо указать литерал $ параметры, он должен быть экранирован с помощью \ . Поскольку JSON также использует обратную косую черту для экранирования, $ потребуется для записывается как \ $.

Обратите внимание, что эта замена произойдет для любой цели . Если используется настраиваемая цель, он может реализовать расширение переменных для дополнительных опций, используя возвышенное.expand_variables () с результатом self.window.extract_variables () .

$ пачки
Путь к папке Packages /
$ платформа
Строка, содержащая платформу, на которой работает Sublime Text: windows , osx или linux .
$ файл
Полный путь, включая папку, к файлу в активном Посмотреть.
$ file_path
Путь к папке, содержащей файл в активном Посмотреть.
$ имя_файла
Имя файла (без пути к папке) файла в активный вид.
$ имя_базы_файла
Имя файла без расширения файла в активный вид.
$ file_extension
Расширение имени файла в активный вид.
$ папка
Полный путь к первой папке, открытой на боковой панели.
$ проект
Полный путь к текущему файлу проекта.
$ project_path
Путь к папке, содержащей текущий файл проекта.
$ имя_проекта
Имя файла (без пути к папке) текущего проекта файл.
$ имя_базы_проекта
Имя файла, без расширения, текущего файл проекта.
$ project_extension
Расширение текущего файла проекта.

Расширенный пример

В следующем примере показана настраиваемая команда target , с возможностью отмены сборки и навигации по результатам.

Целевая для системы сборки должна быть возвышенное.WindowCommand . Это предоставит переменную экземпляра self.window чтобы разрешить взаимодействие с текущим проектом, окном и активным представлением.

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

Следующий Python можно сохранить в файл с именем Пакет / Пользователь / my_example_build.py:

  импорт возвышенного
импорт sublime_plugin

подпроцесс импорта
импорт потоковой передачи
импорт ОС


класс MyExampleBuildCommand (sublime_plugin.WindowCommand):

    кодировка = 'utf-8'
    убит = Ложь
    proc = Нет
    панель = Нет
    panel_lock = threading.Lock ()

    def is_enabled (self, lint = False, integration = False, kill = False):
        # Параметр Отменить сборку должен быть доступен только
        # когда процесс еще запущен
        если убить:
            return self.proc не равен None, а self.proc.poll () - None
        вернуть True

    def run (self, lint = False, integration = False, kill = False):
        если убить:
            если сам.прок:
                self.killed = Верно
                self.proc.terminate ()
            возвращение

        vars = self.window.extract_variables ()
        рабочий_dir = vars ['file_path']

        # Используется блокировка, чтобы гарантировать, что только один поток
        # касаясь панели вывода за раз
        с self.panel_lock:
            # Создание панели неявно очищает любое предыдущее содержимое
            self.panel = self.window.create_output_panel ('exec')

            # Включить навигацию по результатам. Result_file_regex делает
            # первичное соответствие, но используется result_line_regex
            # когда вывод сборки включает некоторые записи, которые только
            # содержать информацию о строке / столбце под предыдущей строкой
            # перечисление информации о файле.\ s + строка (\ d +) col (\ d +) '
            )
            settings.set ('каталог_базы_результатов', рабочий_директор)

            self.window.run_command ('show_panel', {'панель': 'output.exec'})

        если self.proc не равен None:
            self.proc.terminate ()
            self.proc = Нет

        args = ['my_cli']
        если ворс:
            args.append ( '- л')
        elif интеграция:
            args.append ( '- я')
        args.append (вары [ 'имя_файла'])
        self.proc = subprocess.Popen (
            арг,
            STDOUT = подпроцесс.ТРУБА,
            STDERR = subprocess.STDOUT,
            CWD = working_dir
        )
        self.killed = Ложь

        threading.Thread (
            целевой = self.read_handle,
            арг = (self.proc.stdout,)
        ).Начало()

    def read_handle (сам, дескриптор):
        chunk_size = 2 ** 13
        out = b ''
        в то время как True:
            пытаться:
                данные = os.read (handle.fileno (), chunk_size)
                # Если было точно запрошенное количество байтов
                # read, может быть больше данных, и текущий
                # данные могут содержать часть многобайтового символа
                out + = данные
                если len (data) == chunk_size:
                    Продолжать
                если data == b '' и out == b '':
                    поднять IOError ('EOF')
                # Мы передаем функцию, чтобы гарантировать
                # timeout получает значение out прямо сейчас,
                # вместо будущей (измененной) версии
                самостоятельно.queue_write (out.decode (self.encoding))
                если data == b '':
                    поднять IOError ('EOF')
                out = b ''
            кроме (UnicodeDecodeError) как e:
                msg = 'Ошибка декодирования вывода с использованием% s -% s'
                self.queue_write (сообщение% (self.encoding, str (e)))
                перерыв
            кроме (IOError):
                если самоубийство:
                    msg = 'Отменено'
                еще:
                    msg = 'Готово'
                самостоятельно.queue_write ('\ n [% s]'% сообщение)
                перерыв

    def queue_write (сам, текст):
        sublime.set_timeout (лямбда: self.do_write (текст), 1)

    def do_write (сам, текст):
        с self.panel_lock:
            self.panel.run_command ('добавить', {'символы': текст})
  

Пользовательский MyExampleBuildCommand может быть настроен как система сборки с использованием следующего JSON сохраняется в файл с именем Пакеты / Пользователь / Мой пример сборки.возвышенная-сборка:

  {
    "target": "my_example_build",
    "селектор": "source.mylang",
    "cancel": {"kill": true},
    "варианты": [
        {
            "name": "Линт",
            "lint": правда
        },
        {
            "name": "Интеграционные тесты",
            «интеграция»: правда
        }
    ]
}  
,