DevToolsPlugin

Uwidacznia komunikaty serwera proxy deweloperów oraz informacje o przechwyconych żądaniach i odpowiedziach w narzędziu Chrome DevTools. Obsługuje zarówno żądania HTTP, jak i komunikację STDIO.

Zrzut ekranu przeglądarki Microsoft Edge z narzędziami deweloperskimi przedstawiający komunikaty serwera proxy deweloperów.

Zrzut ekranu przeglądarki Microsoft Edge z narzędziami deweloperskimi przedstawiający żądania i odpowiedzi przechwycone przez serwer proxy deweloperów.

Przykład konfiguracji

{
  "$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"
  }
}

Właściwości konfiguracji

Własność Opis Domyślny
preferredBrowser Która przeglądarka ma być używana do uruchamiania narzędzi deweloperskich. Obsługiwane wartości: Edge, EdgeDev, Chrome Edge
port Port, na którym wtyczka nasłuchuje połączeń devTools. 0 wybiera losowy dostępny port. Użyj stałego portu, jeśli musisz go opublikować, na przykład po uruchomieniu serwera proxy deweloperskiego w kontenerze 0
launchBrowser Czy uruchomić przeglądarkę za pomocą narzędzi deweloperskich. Gdy falsewtyczka nie uruchamia przeglądarki i zamiast tego rejestruje adres URL narzędzi deweloperskich, który jest otwierany w Microsoft Edge lub Google Chrome samodzielnie true

Opcje wiersza polecenia

Żaden

Remarks

Wtyczka nasłuchuje połączeń narzędzi deweloperskich na adresie IP używanym przez serwer proxy dewelopera --ip-address , który został ustawiony przy użyciu opcji . Po ustawieniu wartości 0.0.0.0 lub ::wtyczka nasłuchuje na wszystkich interfejsach, a adres URL narzędzi deweloperskich wskazuje wartość 127.0.0.1. Na Windows nasłuchiwanie na wszystkich interfejsach wymaga uprawnień administratora lub listy ACL adresów URL. Jeśli wtyczka nie może nasłuchiwać we wszystkich interfejsach, nasłuchuje 127.0.0.1 zamiast tego, aby można było połączyć narzędzia deweloperskie tylko z tej samej maszyny.

Aby chronić przechwycony ruch, wtyczka akceptuje tylko połączenia narzędzi Dev Tools, które:

  • użyj adresu URL, który uruchamia lub rejestruje serwer proxy deweloperów. Adres URL zawiera losowy token generowany przez serwer proxy deweloperów przy każdym uruchomieniu.
  • pochodzą z frontonu chrome DevTools, devtools://devtoolsalbo , http://localhost:9222lub http://127.0.0.1:9222.

Wtyczka odrzuca inne połączenia z 403 Forbidden ostrzeżeniem i rejestruje je.

Aby użyć wtyczki, gdy serwer proxy deweloperów działa w kontenerze, kontenerze deweloperskim lub GitHub Codespaces, ustaw na stały port, ustaw portlaunchBrowserfalsewartość i opublikuj lub przekaż port do maszyny. Aby uzyskać więcej informacji, zobacz Inspekcja żądań, gdy serwer proxy deweloperów działa w kontenerze.

Znane problemy

Narzędzia deweloperskie nie są otwierane w przeglądarce Microsoft Edge w systemie Windows

Używasz serwera proxy deweloperskiego w systemie Windows i konfigurujesz go do wyświetlania narzędzi deweloperskich przy użyciu przeglądarki Microsoft Edge. Po uruchomieniu serwera proxy deweloperskiego uruchamia inspektora, ale narzędzia deweloperskie nie są otwarte lub otwierają puste.

Aby rozwiązać ten problem:

  1. Otwórz przeglądarkę Microsoft Edge
  2. Przejdź do Ustawienia
  3. Otwieranie system i wydajność
  4. Wyłączanie zwiększenie wydajności uruchamiania
  5. Zamknij wszystkie okna i procesy przeglądarki Microsoft Edge
  6. Uruchamianie serwera proxy deweloperskiego

Obsługa funkcji STDIO

W przypadku korzystania z narzędzia DevToolsPlugin za pomocą polecenia można sprawdzić komunikację STDIN/STDOUT/STDERR w narzędziu stdioChrome DevTools:

  • Komunikaty są wyświetlane z adresami stdio://command-name URL
  • Żądania są wyświetlane jako STDIN metoda
  • Odpowiedzi są wyświetlane jako STDOUT (stan 200) lub STDERR (stan 500)
  • Treści komunikatów są formatowane w formacie JSON, jeśli ma to zastosowanie
  • Informacje o chronometrażu są dostępne dla każdej pary żądań/odpowiedzi

Przykład konfiguracji dla funkcji 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"
  }
}

Następnie uruchom polecenie:

devproxy stdio npx -y @modelcontextprotocol/server-filesystem

Następny krok