Плагин DevTools

Предоставляет сообщения прокси-сервера разработки и сведения о перехватанных запросах и ответах в Chrome DevTools. Поддерживает как HTTP-запросы, так и связь STDIO.

снимок экрана Microsoft Edge с инструментами разработки с сообщениями о прокси-сервере разработки.

снимок экрана Microsoft Edge с инструментами разработки с запросами и ответами, перехватываемыми прокси-сервером разработки.

Пример конфигурации

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "DevToolsPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "devTools"
    }
  ],
  "devTools": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/devtoolsplugin.schema.json",
    "preferredBrowser": "Edge"
  }
}

Свойства конфигурации

Свойство Описание По умолчанию
preferredBrowser Какой браузер используется для запуска средств разработки. Поддерживаемые значения: Edge, EdgeDev, Chrome Edge
port Порт, на котором подключаемый модуль прослушивает подключения DevTools. 0 выбирает случайный доступный порт. Используйте фиксированный порт, если необходимо опубликовать его, например при запуске прокси-сервера разработки в контейнере 0
launchBrowser Запуск браузера с помощью средств разработки. Когда falseподключаемый модуль не запускает браузер и регистрирует URL-адрес средств разработки, который вы открываете в Microsoft Edge или Google Chrome самостоятельно. true

Параметры командной строки

Никакой

Замечания

Подключаемый модуль прослушивает подключения средств разработки к IP-адресу, используемому прокси-сервером разработки, который вы устанавливаете с помощью --ip-address параметра. Если он задан 0.0.0.0 или ::, подключаемый модуль прослушивает все интерфейсы и URL-адрес средств разработки указывает на 127.0.0.1. В Windows прослушивание всех интерфейсов требует прав администратора или ACL URL-адреса. Если подключаемый модуль не может прослушивать все интерфейсы, он прослушивает 127.0.0.1 вместо этого, чтобы подключить средства разработки только с одного компьютера.

Чтобы защитить перехватанный трафик, подключаемый модуль принимает только подключения средств разработки, которые:

  • используйте URL-адрес, запускающий прокси-сервер разработки или журналы. URL-адрес содержит случайный маркер, создаваемый прокси-сервером разработки при каждом запуске.
  • исходить из внешнего интерфейса Chrome DevTools либо devtools://devtools, http://localhost:9222либо http://127.0.0.1:9222.

Подключаемый модуль отклоняет другие подключения и 403 Forbidden записывает предупреждение.

Чтобы использовать подключаемый модуль при запуске прокси-сервера разработки в контейнере, контейнере разработки или GitHub пространствах codespaces, задайте фиксированный порт, falselaunchBrowser установите port значение и опубликуйте или перенаправьте порт на компьютер. Дополнительные сведения см. в разделе "Проверка запросов при запуске прокси-сервера разработки в контейнере".

Известные проблемы

Средства разработки не открываются в Microsoft Edge в Windows

Вы используете прокси разработки в Windows и настраиваете его для отображения средств разработки с помощью Microsoft Edge. После запуска прокси разработки он запускает инспектор, но средства разработки не открываются или они открываются пустыми.

Чтобы устранить эту проблему, выполните следующие действия.

  1. Открытие Microsoft Edge
  2. Перейдите к разделу "Параметры "
  3. Открытие системы и производительности
  4. Отключение запуска
  5. Закройте все окна и процессы Microsoft Edge
  6. Запуск прокси-сервера разработки

Поддержка STDIO

При использовании DevToolsPlugin с командойstdio можно проверить связь STDIN/STDOUT/STDERR в Chrome DevTools:

  • Сообщения отображаются с stdio://command-name URL-адресами
  • Запросы отображаются как STDIN метод
  • Ответы отображаются как STDOUT (состояние 200) или STDERR (500 состояний)
  • Тела сообщений форматируются в формате JSON при необходимости
  • Сведения о времени доступны для каждой пары запросов и ответа

Пример конфигурации для STDIO

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "DevToolsPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "devTools"
    }
  ],
  "devTools": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/devtoolsplugin.schema.json",
    "preferredBrowser": "Edge"
  }
}

Затем запустите:

devproxy stdio npx -y @modelcontextprotocol/server-filesystem

Следующий шаг