Com o novo tipo de configuração de inicialização "composto", podemos depurar vários processos simultaneamente, mas temos que iniciá-los ao mesmo tempo. Isso será complicado sempre que você estiver iniciando coisas do tipo 'cliente' e 'servidor', porque o servidor pode não estar pronto por um segundo e o cliente pode esperar que esteja pronto imediatamente.
Tentei configurar isso com meus testes de node-debug2, que era um cenário que eu tinha em mente, mas só funciona às vezes, dependendo da rapidez com que o processo do adaptador de depuração é iniciado.
Você já falou sobre permitir que os usuários iniciem a configuração do servidor, certifique-se de que inicie corretamente e, em seguida, execute a configuração do cliente assim que o servidor estiver pronto?
Esta é uma discussão contínua que planejamos abordar em novembro. Expor a depuração de vários destinos por meio de uma configuração launch.json tem os seguintes prós:
Ao fazê-lo, basta continuar clicando nos botões de reprodução tem os seguintes prós:
Os usuários também podem iniciar acidentalmente vários processos, mas podemos resolver isso com um pouco de UX inteligente. Habilitando o botão de reprodução apenas se um usuário tiver escolhido outra configuração (que tem a limitação de não ser capaz de depurar dois dos mesmos processos ao mesmo tempo - o que não é realmente um cenário imho).
Pessoalmente, sou mais favorável à segunda abordagem. No entanto, para o marco atual, iremos com o primeiro para obter feedback.
Atribuindo isso para novembro, desde então, podemos discutir mais sobre a abordagem a ser adotada.
Uma das coisas principais a se pensar é o quão importante é a depuração de vários fragmentos como um cenário para nós.
@roblourens a solução atual com a configuração de inicialização 'composta' é uma medida temporária que deve permitir o teste. Não é, de forma alguma, a única maneira como apresentamos a depuração de várias sessões. Aproveitar esse recurso em uma configuração de lançamento foi apenas a maneira mais fácil de incluir algo no lançamento de outubro.
Além da abordagem baseada na IU do comentário do Isi, planejamos oferecer suporte a algo semelhante ao preLaunchTask
: em uma configuração de inicialização, você pode especificar outra configuração de inicialização que é iniciada após a primeira ter sido executada por algum tempo. Isso cobriria seu caso de uso.
Para novembro, vamos com a proposta @isidorn :
(e mantemos a configuração de lançamento 'composta', mas iremos produzi-la; consulte # 14842)
Comentários muito úteis
Para novembro, vamos com a proposta @isidorn :
(e mantemos a configuração de lançamento 'composta', mas iremos produzi-la; consulte # 14842)