Сборка
Сборка Kate из исходных кодов в Linux
В настоящее время исходный код Kate находится в экземпляре GitLab [invent.kde.org](https:// invent.kde.org/utilities/kate). В этом руководстве объясняется, как собрать Kate, не затрагивая глобальную установку.
Всё будет происходить в отдельном каталоге для разработки. Это позволяет обойтись без прав администратора и всегда можно вернуться к использованию глобально установленной Kate, если текущая сборка не работает.
Поскольку в этом руководстве будет представлена настройка, позволяющая разрабатывать и другие части программного стека KDE, далее речь пойдёт о настройке среды разработки KDE. Помимо частей приложения Kate, будут скомпилированы необходимые KDE Frameworks. Это упрощает внесение вклада на всех уровнях программного стека KDE.
Выберите каталог разработки Kate и KDE
Выберите каталог для размещения всех файлов разработки Kate и KDE. За исключением локальных файлов конфигурации пользователя, ничего за пределами этого каталога затронуто не будет. Его можно использовать для разработки любой части программного стека KDE.
В оставшейся части описания используется
~/projects/kde
Настройте по своему усмотрению.
Установите kdesrc-build
Установка сводится к клонированию текущей версии.
mkdir -p ~/projects/kde/src
cd ~/projects/kde/src
git clone https://invent.kde.org/sdk/kdesrc-build.git
Для удобства использования рекомендуется создать символическую ссылку на сценарий kdesrc-build в папку, находящуюся в переменной окружения PATH, например, в локальную папку пользователя bin:
ln -s ~/projects/kde/src/kdesrc-build/kdesrc-build ~/bin
Настройка kdesrc-build
В kdesrc-build есть несколько этапов настройки, которые могут автоматически настроить некоторые параметры, см. введение.
Здесь приведён файл ~/.config/kdesrc-buildrc, достаточный для разработки Kate.
Просто скопируйте приведённый ниже вариант в домашний каталог как ~/.config/kdesrc-buildrc и настройте пути по необходимости. Если вы придерживаетесь пути ~/projects/kde, выбранного выше, этот вариант можно использовать без изменений.
global
# использовать новейшее ПО на основе KF6 и Qt6.
branch-group kf6-qt6
# Используйте ninja для ускорения инкрементной сборки, отключите некоторые компоненты Qt 5 для
# уменьшения зависимостей
cmake-options -G "Ninja" -DBUILD_WITH_QT6=ON -DQT_MAJOR_VERSION=6 -DPHONON_BUILD_QT5=OFF -DBUILD_QT5=OFF
# Инструментарий clangd
compile-commands-export yes
compile-commands-linking yes
# плоская структура
directory-layout flat
# Каталог установки ПО KDE
install-dir ~/projects/kde/usr
# Папка для загруженного исходного кода
source-dir ~/projects/kde/src
# Каталог для сборки KDE перед установкой относительно исходного каталога по умолчанию
build-dir ~/projects/kde/build
end global
include ${module-definitions-dir}/kf6-qt6.ksb
Ниже подробно описаны важные строки для удобной разработки в Kate (или других приложений KDE).
Интеграция с LSP
# Инструментарий clangd
compile-commands-export yes
compile-commands-linking yes
Эти строки гарантируют, что CMake сгенерирует файлы compile_commands.json, необходимые для интеграции LSP на основе clangd. Помимо их создания в каталоге сборки, параметр связывания создаст на них символические ссылки обратно в ваши исходные каталоги. Это позволяет использовать плагин LSP в Kate (и других редакторах) без дополнительной настройки.
Установите необходимые зависимости (необязательно)
kdesrc-build предоставляет режим начальной настройки для установки необходимых пакетов в нескольких распространённых дистрибутивах, чтобы начать разработку. Это полезно, если вы не уверены, что все нужные пакеты для разработки установлены в вашей системе, и не хотите заниматься этим вручную. Поскольку при этом будет предпринята попытка установить пакеты для вашего дистрибутива, для этого шага потребуются права администратора. Для этого просто выполните:
kdesrc-build --initial-setup
Файл .config/kdesrc-buildrc уже создан и не будет изменён. Для дальнейшего использования также не потребуется изменять настройки оболочки.
Сборка Kate и зависимостей
Для компиляции Kate и всех необходимых зависимостей KDE теперь достаточно ввести:
kdesrc-build --include-dependencies kate
На современных компьютерах это занимает несколько минут. Можно выпить кофе или подумать, что именно нужно реализовать.
Пока версия KF 6 наших зависимостей не включена в вашу поставку, возможно, имеет смысл собрать дополнительные компоненты для улучшенного оформления и интеграции терминала:
kdesrc-build --include-dependencies breeze plasma-integration kwayland-integration konsole kate
Если требуется собрать только Kate без зависимостей, поскольку на системе уже установлены достаточно свежие версии, можно попробовать:
kdesrc-build --no-include-dependencies kate
Но учитывая, что на современных компьютерах время компиляции невелико, удобнее собрать всё сразу — это также гарантирует использование новейших и лучших версий фреймворков KSyntaxHighlighting и KTextEditor.
При такой настройке все компоненты программного обеспечения KDE можно собрать простой командой:
kdesrc-build
Учтите: это займёт некоторое время (и место на диске).
Если при сборке отображаются ошибки красным шрифтом, следуйте этому руководству — Решение проблем со сборкой.
Использование инструментов сборки
Для запуска локальной версии Kate необходимо сначала правильно настроить окружение, чтобы загружались нужные модули и прочие компоненты. К счастью, это очень просто:
source ~/projects/kde/build/kate/prefix.sh
kate
Удобный способ обернуть это — создать небольшой сценарий-обёртку для запуска версии Kate из ветки master в локальном каталоге bin:
#!/bin/bash
source ~/projects/kde/build/kate/prefix.sh
exec kate "$@"
Обновляйте своё приложение
Для обновления локальной версии достаточно повторно выполнить указанные выше команды. Они загрузят новые изменения из репозиториев KDE и соберут/установят их в локальный префикс.
Разрабатывайте!
Остаётся вопрос: как лучше всего разрабатывать?
Разумеется, для работы над кодом Kate удобнее всего использовать саму Kate.
После выполнения всех подготовительных действий это легко сделать: просто запустите новую основную версию Kate и передайте ей каталог сборки:
kate ~/projects/kde/build/kate
Также можно перейти в эту папку в терминале и запустить Kate оттуда, тогда файл откроется автоматически:
cd ~/projects/kde/build/kate
kate
Для наилучшей работы с этим убедитесь, что включены как минимум плагины «Проект» и «LSP». Для интеграции сборки в графический интерфейс активируйте также плагин «Сборка».
В результате откроется новое окно Kate, как показано ниже.

В нижней панели инструментов «Текущий проект» по умолчанию доступны два терминала. Первый терминал открыт в каталоге сборки, где можно выполнять команды, например, ninja или ninja install. Второй терминал открыт в исходном каталоге, что удобно для вызовов командной строки git.
При такой настройке модуль LSP (если установлен clangd) должен работать сразу.

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


Принять участие!
Создайте запрос на слияние на invent.kde.org. Подробнее см. в разделе «Присоединиться».
Получить поддержку?
Если возникли вопросы, их можно задать в разделе Kate на сервере обсуждений KDE и/или присоединиться к нашему каналу Kate в Matrix (более общая информация о Matrix и KDE доступна здесь).
Подробнее см. в разделе Получение помощи.
Сборка Kate из исходных кодов в Windows
Для сборки Kate/KWrite на основе KF5 можно воспользоваться руководством на странице KDE для Windows.
Сборка Kate из исходных кодов в macOS
Для сборки Kate/KWrite на основе KF5 следуйте инструкции на странице [KDE для macOS] (https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Mac).