DevToolsPlugin

Expõe mensagens do Dev Proxy e informações sobre solicitações e respostas intercetadas no Chrome DevTools. Suporta tanto pedidos HTTP como comunicação STDIO.

Captura de tela do Microsoft Edge com ferramentas de desenvolvimento mostrando mensagens de Proxy de Desenvolvimento.

Captura de tela do Microsoft Edge com ferramentas de desenvolvimento mostrando solicitações e respostas intercetadas pelo Dev Proxy.

Exemplo de configuração

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

Propriedades de configuração

Propriedade Descrição Inadimplência
preferredBrowser Qual navegador usar para iniciar as Ferramentas de Desenvolvimento. Valores suportados: Edge, EdgeDev, Chrome Edge
port Porta onde o plugin escuta ligações DevTools. 0 Escolhe uma porta disponível aleatória. Usa uma porta fixa quando precisares de a publicar, por exemplo, quando executares Dev Proxy num contentor 0
launchBrowser Se devo abrir o navegador com o Dev Tools. Quando false, o plugin não inicia o navegador e regista o URL das Ferramentas de Desenvolvimento, que se abre no Microsoft Edge ou Google Chrome você próprio true

Opções de linha de comando

Nenhum

Remarks

O plugin ouve ligações Dev Tools no endereço IP que o Dev Proxy usa, que defines usando essa --ip-address opção. Quando o defines para 0.0.0.0 ou ::, o plugin escuta em todas as interfaces e o URL das Ferramentas de Desenvolvimento aponta para 127.0.0.1. No Windows, ouvir em todas as interfaces requer direitos de administrador ou uma ACL de URL. Se o plugin não conseguir ouvir em todas as interfaces, ouve em 127.0.0.1 vez disso, por isso só podes ligar Dev Tools a partir da mesma máquina.

Para proteger o tráfego intercetado, o plugin só aceita ligações Dev Tools que:

  • usar a URL que o Dev Proxy lança ou regista. A URL contém um token aleatório que o Dev Proxy gera sempre que inicia.
  • provêm da interface do Chrome DevTools, ou devtools://devtools, http://localhost:9222, ou http://127.0.0.1:9222.

O plugin rejeita outras ligações e 403 Forbidden regista um aviso.

Para usar o plugin quando o Dev Proxy correr num contentor, num container de desenvolvimento ou no GitHub Codespaces, defina port para uma porta fixa, defina launchBrowser para false, e publique ou encaminhe a porta para a sua máquina. Para mais informações, consulte Inspecionar pedidos quando o Proxy de Desenvolvimento é executado num contentor.

Problemas conhecidos

Ferramentas de desenvolvimento não abrem no Microsoft Edge no Windows

Você usa o Dev Proxy no Windows e o configura para usar o Microsoft Edge para exibir as Ferramentas de Desenvolvimento. Depois de iniciar o Dev Proxy, ele inicia o inspetor, mas as Ferramentas de Desenvolvimento não abrem ou abrem vazias.

Para corrigir esse problema:

  1. Abra o Microsoft Edge
  2. Vá para Configurações
  3. Sistema aberto e de desempenho
  4. Desativar Startup boost
  5. Feche todas as janelas e processos do Microsoft Edge
  6. Iniciar Dev Proxy

Apoio ao STDIO

Ao usar o DevToolsPlugin com o stdio comando, pode inspecionar a comunicação STDIN/STDOUT/STDERR no Chrome DevTools:

  • As mensagens aparecem com stdio://command-name URLs
  • Pedidos apresentados como STDIN método
  • As respostas aparecem como STDOUT (estado 200) ou STDERR (estado 500)
  • Os corpos das mensagens são formatados como JSON quando aplicável
  • Informação de temporização está disponível para cada par pedido/resposta

Exemplo de configuração para 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"
  }
}

Em seguida, execute:

devproxy stdio npx -y @modelcontextprotocol/server-filesystem

Próximo passo