❗ Вебсайт в стадии бета-тестирования. Возможны ошибки.

Файл настройки

Настройка переменных

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

Редактор Kate позволяет сохранить и использовать настройки для конкретного проекта. Для этого в корневом каталоге проекта необходимо создать файл .kateconfig. После этого параметры, указанные в файле .kateconfig, будут применены ко всем файлам проекта.

Внимание!

Существует ещё способ добавлять переменные непосредственно в файл с исходным кодом в виде комментариев. Но я настоятельно не рекомендую этого делать и описывать этот способ не буду.

Формат файла

Переменные Kate имеют следующий формат:

.kateconfig
kate: VARIABLENAME VALUE; [ VARIABLENAME VALUE; ... ]

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

Пример строки переменной, принудительно устанавливающей отступы для языков C++, Java™ или JavaScript:

// kate: replace-tabs on; indent-width 4; indent-mode cstyle;

Использование переменных

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

  • общая (глобальная) настройка;
  • данные сессии;
  • переменные filetype, определяющие типы MIME;
  • переменные в файле .kateconfig;
  • переменные в самом редактируемом файле;
  • настройки заданные посредством меню или командной строки.

При каждом сохранении файла редактор Kate переопределяет и записывает значения переменных.

Переменные использует не только редактор Kate, но и все связанные модули, например плагины.

Для всех переменных существуют три типа значений:

  • логическое (BOOL) — on | off | true | false | 1 | 0;
  • целочисленное (INT) — любое целое число;
  • строка (STRING) — любая строка.

Список доступных переменных

В файле .kateconfig можно указать следующие переменные:

  • auto-brackets (BOOL) — Включить автоматическую вставку скобок.
  • auto-center-lines (INT) — Установить количество строк автоцентрирования.
  • background-color (STRING) — Установить цвет фона документа. Шестнадцатиричное значение, например, #ff0000.
  • backspace-indents (BOOL) — Включить или отключить отступ при нажатии Backspace.
  • block-selection (BOOL) — Включить или отключить выделение блока.
  • bom | byte-order-mark | byte-order-marker (BOOL) — Включить или отключить метку порядка байтов (BOM) при сохранении файлов в формате Unicode (utf8, utf16, utf32).
  • bracket-highlight-color (STRING) — Установить цвет подсветки скобок. Значение должно быть представлено в виде допустимого цвета, Шестнадцатиричное значение, например, #ff0000.
  • current-line-color (STRING) — Установить цвет текущей строки. Шестнадцатиричное значение, например, #ff0000.
  • default-dictionary (STRING) — Задать словарь по умолчанию для проверки орфографии.
  • dynamic-word-wrap (STRING) — Включить или отключить динамический перенос слов.
  • eol | end-of-line (STRING) — Задать режим переноса конца строки. Допустимые значения: Unix, Mac и DOS.
  • folding-markers (STRING) — Включить или отключить отображение маркеров переноса.
  • folding-preview (STRING) — Включить предварительный просмотр сворачивания в редакторе.
  • font-size (INT) — Задать размер шрифта.
  • font (STRING) — Задать шрифт. Название шрифта.
  • hl | syntax (STRING) — Задать подсветку синтаксиса. Допустимы все имена, доступные в меню. Например, для C++ введите C++.
  • icon-bar-color (STRING) — Установить цвет панели пиктограмм. Шестнадцатиричное значение, например, #ff0000.
  • icon-border [ЛОКОВОЕ] — Включить или отключить отображение контура пиктограммы.
  • indent-mode (STRING) — Установить режим автоматического отступа. Варианты: none, normal, cstyle, haskell, lilypond, lisp, python, ruby ​​и xml.
  • indent-pasted-text [ЛОКОВОЕ] — Включить или отключить настройку отступа текста, вставленного из буфера обмена.
  • indent-width (INT) — Установить ширину отступа.
  • keep-extra-spaces (BOOL) — Сохранять дополнительные пробелы при расчёте ширины отступа?
  • line-numbers (BOOL) — Включить или отключить отображение номеров строк.
  • newline-at-eof (BOOL) — Добавить пустую строку в конец файла (EOF) при сохранении документа.
  • overwrite-mode (BOOL) — Включить или отключить режим перезаписи.
  • persistent-selection (BOOL) — Включить или отключить постоянное выделение.
  • replace-tabs-save (BOOL) — Включить или отключить преобразование табуляции в пробел при сохранении.
  • replace-tabs (BOOL) — Включить или отключить динамическое преобразование табуляции в пробел.
  • remove-trailing-spaces (STRING) — Удалить конечные пробелы при сохранении документа. Допустимые значения:
    • none, - или 0: никогда не удалять конечные пробелы;
    • moded, mod, + или 1: удалять конечные пробелы только в изменённых строках. Изменённые строки помечает система модификации строк.
    • all, * или 2: удалять конечные пробелы во всём документе.
  • scrollbar-minimap (BOOL) — Показать мини-карту полосы прокрутки.
  • scrollbar-preview (BOOL) — Показать предварительный просмотр полосы прокрутки.
  • scheme (STRING) — Установить цветовую схему. Строка должна содержать название цветовой схемы, существующей в конфигурации.
  • selection-color (STRING) — Установить цвет выделения. Шестнадцатиричное значение, например, #ff0000.
  • show-tabs (BOOL) — Включить или отключить визуальный символ табуляции.
  • smart-home (BOOL) — Включить или отключить переход в начало строки.
  • tab-indents (BOOL) — Включить или отключить отступ клавишей Tab.
  • tab-width (INT) — Установить ширину отображения символа табуляции.
  • word-wrap-column (INT) — Установить ширину строки для переноса слов.
  • word-wrap-marker-color (STRING) — Установить цвет маркера переноса слов. Шестнадцатиричное значение, например, #ff0000.
  • word-wrap (BOOL) — Включить или отключить перенос слов.

Регулярные выражения

В файле настроек .kateconfig доступны регулярные выражения. Как и обычные переменные регулярные выражения можно перечислять, разделяя точкой с запятой. Например, для всех файлов JSON и XML установить отступ в 2 пробела:

kate-wildcard(*.json;*.xml): indent-width 2;

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

  • для всех файлов: табуляцию заменить на 4 пробела, установить отступ в 4 пробела;
  • для файлов XML установить отступ в 2 пробела;
  • для файлов Makefiles не заменять табуляцию на пробелы.
kate: tab-width 4; indent-width 4; replace-tabs on;
kate-wildcard(*.xml): indent-width 2;
kate-wildcard(Makefile): replace-tabs off;

В файле настроек .kateconfig можно указать MIME тип файла и установить для него значения. Например, установить для файлов с исходным кодом на языке Go отступ в 4 пробела:

kate-mimetype(text/x-go): indent-width 4;