О расширении dbt для VS Code
Расширение dbt для VS Code обеспечивает сверхбыструю, интеллектуальную и экономичную разработку с dbt в VS Code. Это единственный способ использовать все возможности dbt v2 при разработке с самостоятельно развернутой установкой.
- Экономьте время и ресурсы благодаря почти мгновенному парсингу, обнаружению ошибок в реальном времени, мощным возможностям IntelliSense и многому другому.
- Оставайтесь в потоке благодаря цельному, сквозному процессу разработки dbt, созданному с нуля специально для локальной работы с dbt.
Расширение dbt для VS Code доступно в VS Code Marketplace.
Расширение dbt для VS Code работает с v2 — бесплатным продуктом, который вы получаете по умолчанию при установке dbt.
Совместимость версий
И dbt v1, и dbt v2 поддерживают расширение dbt для VS Code.
Следующие возможности редактора доступны сразу, если ваш проект соответствует спецификации языка v2:
- Автодополнение для
ref, источников, макросов и блоков документации - Переход к определению и поиск ссылок для моделей, источников, макросов и документации
- Обнаружение синтаксических ошибок Jinja
- Переименование моделей с обновлением вызовов
ref, а также переименование ссылок на источники или таблицы - Просмотр скомпилированного SQL и предварительный просмотр модели, выделенного SQL или отдельного CTE
- Запуск
dbt run,build,testи использование селекторов - Описания таблиц, метаданные и отображение метаданных при наведении
- Типы, описания и тесты столбцов в производственной среде
- Визуальное и текстовое представление происхождения данных таблиц на панели расширения
Если ваш проект ещё не соответствует спецификации языка v2, в расширение встроен инструмент dbt-autofix. Включите его, чтобы исправить использование устаревших возможностей во всём проекте одним pull request. Для каждой проблемы на панели Problems также доступно действие автоматического исправления — через значок лампочки или контекстное меню.
Чтобы получить доступ ко всем возможностям языкового сервера, включая отслеживание происхождения данных на уровне столбцов, переход к определению столбца и поиск ссылок на него, обнаружение несуществующих столбцов и ошибок типов, проверку синтаксиса с учётом особенностей хранилища данных, переименование столбцов с распространением изменений на зависимые объекты и раскрытие SELECT *, включите static_analysis: strict и устраните ошибки разбора. Полный список возможностей приведён в разделе О dbt LSP.
Ознакомьтесь с руководством по быстрому старту с v2, чтобы попробовать расширение dbt для VS Code в действии.
Навигация по dbt extension
После установки расширения dbt для VS Code в вашей IDE появится несколько визуальных улучшений, которые помогут вам ориентироваться в его возможностях и функциях. Подробнее о них читайте в разделе Возможности расширения dbt.
Посмотрите следующее видео, чтобы увидеть функции и возможности расширения dbt VS Code:
Вход в аккаунт и доступ к функциям
После установки расширения dbt для VS Code вам становятся доступны его функции. Их доступность зависит от режима статического анализа в вашем проекте. Например, для отслеживания происхождения данных на уровне столбцов и перехода к определению столбца требуется static_analysis: strict.
Некоторые функции получают данные из вашего аккаунта dbt platform, например вкладка Catalog и сравнение изменений с использованием отложенного разрешения ссылок на платформе. Войдите в аккаунт dbt platform, чтобы расширение могло обращаться к нему для работы этих функций.
Полный список функций и сведения об их доступности см. в разделе Функции расширения для VS Code.
Вход выполняется с помощью команды dbt login. Состояние входа используется совместно в CLI, расширении dbt для VS Code и dbt State (если вы входите через dbt platform). Вы можете воспользоваться мастером начала работы или выполнить dbt login в терминале, а затем перезапустить или перезагрузить VS Code. Расширение автоматически определит, что вы вошли в аккаунт.
Меню расширения dbt
Логотип dbt на боковой панели (или надпись dbt Extension на нижней панели) открывает главное меню расширения. В этом меню представлены полезная информация и доступные действия:
- Кнопка Get started: Запускает процесс обновления до v2.
- Информация о расширении: Сведения о расширении, v2 и вашем проекте dbt. Включает параметры настройки и доступные действия.
- Справка: Быстрые ссылки на службу поддержки, отправку сообщений об ошибках и документацию.
Кэширование
Расширение dbt кэширует важную информацию о схемах из вашего data warehouse для повышения скорости и производительности. Кэш автоматически обновляется со временем, но если были внесены недавние изменения, которые не отображаются в проекте, вы можете обновить информацию вручную:
- Нажмите на логотип dbt на боковой панели, чтобы открыть меню.
- Раскройте раздел Extension info и найдите подраздел Actions.
- Нажмите Clear Cache, чтобы обновить данные.
Использование расширения
После установки расширение dbt автоматически активируется при открытии любого файла .sql или .yml в каталоге проекта dbt.
Конфигурация
После установки вы можете настроить расширение под свой рабочий процесс:
- Откройте настройки VS Code, нажав
Ctrl+,(Windows/Linux) илиCmd+,(Mac). - Введите в поиске
dbt. На этой странице вы сможете настроить параметры расширения под свои нужды.
Известные ограничения
Ниже перечислены известные на данный момент ограничения dbt extension:
-
Remote development: расширение dbt пока не поддерживает удалённые сессии разработки по SSH. Поддержка будет добавлена в одном из будущих релизов. Подробнее об удалённой разработке см. в Supporting Remote Development and GitHub Codespaces и Visual Studio Code Server.
-
Работа с файлами YAML: В настоящее время расширение dbt имеет следующие ограничения при работе с файлами YAML:
- Переход к определению не поддерживается для узлов, определённых в файлах YAML (например, снимков).
- При переименовании моделей и столбцов ссылки в файлах YAML не обновляются.
- Эти ограничения будут устранены в будущих версиях расширения dbt.
-
Переименование моделей: При переименовании файла модели расширение dbt вносит изменения, обновляя все вызовы
ref(), которые ссылаются на переименованную модель. Из-за ограничений клиента языкового сервера VS Code расширение не может автоматически сохранять эти изменённые файлы. В результате переименование файла модели может привести к ошибкам компиляции в вашем проекте. Чтобы исправить эти ошибки, вручную сохраните каждый файл, изменённый расширением dbt, или выберите File --> Save All, чтобы сохранить все изменённые файлы. -
Использование Agent mode в Cursor: при использовании dbt extension в Cursor визуализация lineage корректно работает в режиме Editor и не отображается в Agent mode. Если вы работаете в Agent mode и вам нужно посмотреть lineage, переключитесь в Editor mode, чтобы получить доступ ко всем возможностям вкладки lineage.
Конфликты расширений
Иногда расширение может конфликтовать с другими расширениями VS Code, предоставляющими похожие возможности (например, проверку кода). При работе с расширением dbt может потребоваться отключить эти сторонние расширения.
YAML от Red Hat:
Расширение YAML от Red Hat может ошибочно помечать некоторые ключи (например, static_analysis) в YAML-файлах dbt как недопустимые в IDE.
Чтобы решить эту проблему, выполните одно из следующих действий:
- (Рекомендуется) Отключите расширение YAML от Red Hat на время работы с расширением dbt.
- Добавьте следующую конфигурацию в файл
settings.jsonVS Code:Это может полностью отключить использование хранилища схем, что приведёт к непредвиденным последствиям."yaml.schemas": {
"Core/dbtschema.json": "data/dbt/models/**/schema.yml",
"": "data/dbt/dbt_project.yml"
},
dbt Wizard
Расширение dbt для VS Code и dbt Wizard предназначены для совместной работы. Расширение обеспечивает быстрый разбор кода, обнаружение ошибок непосредственно в редакторе и IntelliSense. dbt Wizard добавляет поверх этих возможностей ИИ-слой — он работает с актуальными сведениями о вашем проекте через dbt Information Schema, структурированное представление происхождения и зависимостей данных, состояния моделей, покрытия тестами и семантических определений.
- Создание и рефакторинг по запросам на естественном языке: Опишите, что вам нужно, просмотрите различия, одобрите изменения или скорректируйте направление работы, прежде чем что-либо будет сохранено.
- Проверка изменений до их применения: Агент компилирует и выполняет код в вашем хранилище данных в коротком итеративном цикле, а не ограничивается линтингом в редакторе.
- Работа с полной картой проекта: Исследуйте DAG, оценивайте влияние на зависимые объекты и поддерживайте тесты и YAML в актуальном состоянии при изменении моделей.
Для специалистов по данным сочетание возможностей редактора на базе dbt LSP с агентом dbt Wizard, учитывающим контекст проекта, означает меньше ручной работы с YAML, меньше переключений контекста и более быстрые итерации при решении сложных задач моделирования данных. Чтобы начать работу, ознакомьтесь с кратким руководством по dbt Wizard.
Клиенты dbt platform могут обратиться в службу поддержки dbt Labs по адресу support@getdbt.com. Также вы можете связаться с нами напрямую через вашего Account Manager.
Для организаций, которые не являются клиентами dbt platform, лучшим местом для вопросов и обсуждений является dbt Community Slack.
Для организаций, которые не являются клиентами платформы dbt, лучшее место для вопросов и обсуждений — Slack сообщества dbt.
Мы постоянно работаем над улучшением расширения, поэтому будем рады вашим отзывам и предложениям!
Расширение доступно всем пользователям. Дополнительную информацию см. в Лицензионном соглашении на продукты dbt.
В руководстве Гибридная разработка с dbt platform и dbt v2 описано, как синхронизировать учётные данные, переменные окружения и версии dbt v2 между локальным расширением и dbt platform.
Дополнительная информация о dbt v2
- Журнал изменений dbt v2
- Установка dbt v2
- Краткое руководство по началу работы с dbt v2
- Руководство по обновлению
- Лицензионное соглашение dbt v2


