Flutter DevTools
У DevTools уже є мережева вкладка, таймлайн, інспектор віджетів і профайлер памʼяті — і це Flutter-вебзастосунок, який віддається з вашої ж машини. Тому Gitcito нічого з цього не переписує і сам із Dart VM Service не розмовляє: він помічає адресу і вбудовує її.

flutter run друкує рядок, щойно VM service піднявся:
The Flutter DevTools debugger and profiler on iPhone 16 Pro is available at:
http://127.0.0.1:9100?uri=http://127.0.0.1:53412/uJ8k=/
Сесія запуску стежить за власним виводом, і на панелі зневадження зʼявляється кнопка. Клац — і DevTools відкривається на самому репозиторії, одним із його значків, а не окремою вкладкою. По значку на сесію: два запущені застосунки це два DevTools.
Гарячий перезапуск публікує нову адресу, і панель іде за нею, доки жива її сесія. Коли сесія зникає, панель тримає останню адресу, зазвичай уже мертву: закрийте значок і відкрийте DevTools із нового запуску.
Які інструменти
Інструмент потрапляє сюди, якщо робить дві речі: віддає вебінтерфейс на цій машині й друкує свою адресу.
| Інструмент | Рядок, який він друкує |
|---|---|
| Flutter DevTools | The Flutter DevTools … is available at: <url> |
Dart DevTools (dart devtools) |
Serving DevTools at <url> |
Vue DevTools (@vue/devtools) |
Vue Devtools … listening on <url> |
| Prisma Studio | Prisma Studio is up on <url> |
| Drizzle Studio | Drizzle Studio is up and running on <url> |
| webpack-bundle-analyzer | Webpack Bundle Analyzer is started at <url> |
| усе інше, де названо DevTools і адресу | підпадає під загальний шаблон |
Що вбудувати не можна і чому. Інспектор Node друкує ws://-ендпоінт, до
якого чіпляється зневаджувач, а не сторінку, — а парний до нього фронтенд Chrome
DevTools живе за URL devtools://, який вбудованому вигляду завантажувати не
дозволено. Окрема збірка React DevTools — це власне вікно застосунку, а не
віддана сторінка. Ні те, ні інше тут вкладкою бути не може: обом потрібен клієнт
зневаджувального протоколу, а не адреса.
Дев-сервер це не дев-тул. Vite на :5173 — це ваш застосунок, і вбудувати
його означало б зробити панель попереднього перегляду: інша функція, свідомо не ця.
Що йому дозволено
Вбудований вигляд тримають на короткому повідку — застосунок зберігає облікові дані:
- Лише loopback.
127.0.0.1,localhost,::1. Вбудовування будь-якої іншої адреси відхиляється, як і перехід на неї. - Жодного preload, node integration вимкнено, ізоляція контексту ввімкнена. Сторінка не має містка всередину Gitcito.
- Посилання відкриваються у справжньому браузері, у звичайному вікні, а не в панелі.
Обмеження
- Це DevTools, а не наша робота. Що вміє та версія — вміє й панель; чого не вміє, не вміємо й ми. Мережевої вкладки «від Gitcito» немає.
- Так оголошується лише Flutter. Звичайна програма на Dart друкує URL VM service, але не адресу DevTools — і кнопка не зʼявляється.
- Порожня панель означає, що застосунок зупинився. DevTools віддає застосунок, що працює; коли він завершується, адреса перестає відповідати.
Див. також: Запуск і зневадження