Gnome Builder существует уже очень давно. Если вы никогда не пользовались Builder, я скажу, что это IDE общего назначения для платформы Gnome, созданная в первую очередь для разработки приложений Gnome.
Gnome Builder включает в себя множество функций, которые делают его полезной IDE для разработчиков, включая подсветку синтаксиса для большинства популярных языков, параллельные редакторы кода, поддержку нескольких мониторов, мини-карту обзора кода, интеграцию (например, с Git, Autotools, Cargo, Maven и т. д.), автозаполнение на основе Clang и Python, встроенный профилировщик и отладчик программного обеспечения и многое другое.
Но разработчики Gnome Builder не удовлетворены тем, что у них есть, и сейчас разрабатывают нечто новое, называемое Gnome Foundry, набор дополнительных модульных инструментов разработчика, которые можно запускать из командной строки.
Gnome Foundry — это не новая IDE, а скорее возможность перенести многие автоматические функции, имеющиеся в Builder, в интерфейс командной строки (CLI). Почему? Пользователи Linux часто любят командную строку и считают ее более эффективным инструментом, чем многие приложения с графическим интерфейсом.
Что в коробке?
Количество инструментов, которые будут включены в Gnome Foundry, впечатляет, например:
Языковые серверы
- астро-лс
- бить
- проект
- лязг
- эликсир
- глсл
- гоплс
- интелефенс
- jdtls
- джедай
- Луа
- мезонлсп
- светлячок
- python-lsp-сервер
- ерш
- анализатор ржавчины
- служить-д
- исходный код
- ТС/JS
- вала
- vhdl
- Злс
Системы сборки
- Автоинструменты
- Стрим Стрим
- CMake
- Груз
- Дублировать
- Идти
- Градл
- Делать
- Мавен
- Мезон
- Нпм
- PHPize
- Ваф
Контейнерные системы
- Флэтпак
- JHBuild
- Приглушенный
- Дистробокс
- Инструменты
- Хост (через экранирование песочницы)
- Нет (текущая среда)
Каждый проект Foundry будет использовать манифесты BuildConfig и Flatpak в качестве формата конфигурации.
Использование Литейного завода
Использовать команду Foundry на самом деле довольно просто. Представьте, что ваш проект находится в папке my_project. Если вы перейдете в эту папку (в которой хранятся все ваши файлы разработки для проекта), вы затем инициализируете проект с помощью:
инициализация литейного завода 1 инициализация литейного завода
Большинство проектов Gnome включают манифест Flatpak, и Foundry использует его для поиска различной необходимой информации о проекте. Эта команда обнаружения выглядит следующим образом:
литейный цех 1 литейный цех
Команду сборки можно запустить из любого подкаталога вашего проекта, поскольку она автоматически просматривает вверх, чтобы найти папку .foundry, содержащую состояние проекта.
Как только проект будет создан, вы можете запустить его с помощью:
литейный цех 1 литейный цех
Команда запуска настраивает необходимые конвейеры Flatpak, а также необходимые вспомогательные инструменты для приложения.
Вы даже можете получить необходимые обновления зависимостей проекта с помощью команды:
Обновление зависимостей Foundry 1 Обновление зависимостей Foundry
С Foundry вы можете выполнить множество других действий, таких как проверка конвейера сборки, аннулирование всех этапов конвейера и принудительная очистка для чистой сборки.
Также имеется возможность запускать определенную команду вместо программы по умолчанию, что позволяет выполнять такие действия, как тестирование среды выполнения вместо среды сборки. Это можно сделать с помощью такой команды:
запуск литейного цеха — gtk4-demo 1 запуск литейного цеха — gtk4-demo
Имейте в виду, что зависимости не обновляются автоматически. Причина этого в том, что каждый разработчик не подключается к серверу сборки одновременно для каждого запроса на сборку.
Чтобы открыть подоболочку с источником среды проекта, введите команду:
введите литейное производство 1 введите литейное производство
С Foundry можно выполнить множество других действий (например, проверку конвейера сборки, аннулирование всех этапов конвейера и принудительную очистку для чистой сборки. Вот список некоторых наиболее важных команд Gnome Foundry, которые можно использовать:
- литейная постройка — Компилирует ваш проект.
- Foundry run — собирает (при необходимости) и запускает проект.
- Foundry Enter — открывает подоболочку с предварительно настроенной средой проекта.
- Foundry –help — отображает справочную информацию Foundry.
- Foundry settings — просмотр и изменение настроек проекта.
- Foundry lsp — Управление языковым сервером для интеграции с другими редакторами.
- Foundry install-docs — документация по установке для различных версий Gnome.
- Foundry run – Flatpak — запускает ваше приложение как приложение Flatpak.
- Foundry run –device=
— запускает приложение на указанном устройстве, например телефоне или планшете. - Foundry Shell — запускает оболочку в конвейере сборки.
- Foundry Purge — удаляет все артефакты сборки, чтобы выполнить чистую сборку.
- Foundry Inspect — Осмотрите конвейер сборки.
- Foundry doc
— находит документацию для определенного GtkWidget.
Вы также можете работать с несколькими конфигурациями сборки в проекте и переключаться между ними. Этот рабочий процесс может выглядеть примерно так:
конфигурация Foundry добавить —latpak org.gnome.Builder.Devel.json переключатель конфигурации Foundry org.gnome.Builder.Devel.json 12 конфигурация Foundry добавить —flatpak org.gnome.Builder.Devel.jsonпереключатель конфигурации Foundry org.gnome.Builder.Devel.json
Интеграция через протокол языкового сервера
Благодаря поддержке протокола языкового сервера (LSP) Foundry можно интегрировать в другие редакторы кода. Флаг —format=json можно использовать со многими командами для упрощения анализа.
Что касается поддержки, LSP может работать с несколькими языками. Вот список языков и связанных с ними серверов, поддерживаемых Gnome Foundry:
- Астро: astro-ls
- Bash: сервер языка bash
- План: план
- C, C++: clangd
- Д: подавать-д
- Эликсир: эликсир-ls
- GLSL: glsl-language-server
- Иди: гоплс
- Java: jdtls
- JavaScript/TypeScript: ts-language-server
- Lua: сервер языка lua
- Мезон: mesonlsp
- PHP: интеллектуальный
- Python: python-lsp-server, ruff и jedi-language-server
- Ржавчина: анализатор ржавчины
- Swift: исходный код-lsp
- Vala/Genie: сервер языка вала
- VHDL: сервер языка-vhdl
- Зиг: ЗЛС
Например, если вы хотите использовать Gnome Foundry с Python, команда будет такой:
Foundry lsp run python3 1 Foundry lsp run python3
Примечание. Если вам нужно указать конкретный сервер, вы должны использовать команду литейное производство LSP предпочитает.
При управлении различными серверами с помощью Foundry имейте в виду следующее:
- Foundry использует идентификаторы языка GtkSourceView для распознавания языка проекта.
- Команда Foundry lsp имеет встроенный инструмент, который поможет вам выбрать лучший сервер.
- Вместо того, чтобы вручную управлять несколькими разными серверами для одного языка, вы можете использовать команду типа литейный завод lsp запустить python3 для запуска определенного сервера.
- Используя Foundry lsp предпочитает <сервер>вы можете установить, какой языковой сервер будет использоваться для конкретного языка, что позволяет вам определить сервер, который будет запускаться при запуске fундри lsp run.
- Foundry берет на себя все сложности запуска языковых серверов, включая поддержку межконтейнерного выполнения, что позволяет использовать языковой сервер из среды Flatpak. Это можно использовать, даже если сам сервер недоступен напрямую внутри этого контейнера.
Вы можете прочитать обо всех функциях инструментов Foundry здесь.
И в этом суть Foundry.
Будем надеяться, что в будущем разработчики значительно упростят установку, но, учитывая, что она находится на ранних стадиях, понятно, почему это так сложно.
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Джек Уоллен — это то, что происходит, когда разум поколения Икс сливается с современными насмешками. Джек — искатель истины и писатель слов квантово-механическим карандашом и бессвязным ритмом звука и души. Хотя он проживает… Подробнее от Джека Уоллена