Como parar o navegador automaticamente ao parar a depuração no VS 2017

337

Estou experimentando o novo VS 2017 RC e me perguntando se alguém sabe como recuperar o comportamento de depuração anterior

No VS 2015, foi assim:

Pressione iniciar depuração

  • O site é aberto na nova guia Chrome
  • Pressione para parar a depuração
  • O site ainda está aberto e o site ainda está em execução / ativo

Agora em 2017:

  • Pressione iniciar depuração
  • O site é aberto em uma nova janela que não pode ser encaixada em nenhuma outra janela / guia do Chrome
  • Pressione para parar a depuração
  • A janela Site / Chrome é fechada. Não é possível continuar usando o site, a menos que eu vá manualmente para a janela localhost no Chrome

É possível em 2017 voltar ao estilo de 2015? Portanto, a janela Chrome / Website pode ser acoplada a outras janelas / guias do Chrome e permanece aberta após a interrupção da depuração?

Além disso, acho a nova janela do Chrome frustrante de usar, pois parece não ter nenhum histórico / conteúdo disponível. Por exemplo, não consigo preencher formulários ou URLs automaticamente, o que é muito irritante quando estou tentando testar um formulário

mejobloggs
fonte

Respostas:

583

O Visual Studio 2017 versão 15.7 e superior e o Visual Studio 2019 mudaram as coisas novamente.

Desabilitar as seguintes caixas de seleção permitirá que você mantenha o navegador aberto (não fecha após parar a depuração) e abre outra guia (em vez de outra janela):

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Ferramentas> Opções> Depuração> Geral

  • Desabilite "Ativar depuração de JavaScript para ASP.NET (Chrome, Edge e IE)".

Ferramentas> Opções> Projetos e soluções> Projetos da Web

  • ( Visual Studio 2017 ) Desative "Parar depurador quando a janela do navegador estiver fechada".
  • ( Visual Studio 2019 ) Desative "Parar depurador quando a janela do navegador estiver fechada, feche o navegador quando a depuração parar".
Jerone
fonte
Consulte também este relatório de bug relacionado na Comunidade de Desenvolvedores da Microsoft.
Uwe Keim 28/05
112
Quem diabos adicionou esse recurso e pensou que sim, perfeito. É tão irritante!
Jon
2
Por favor, também fornecem uma solução texto para quando a imagem é removida etc.
mohas
18
Para o VS 2019: se alguém estiver procurando pela última opção (Parar depurador quando a janela do navegador estiver fechada), ela foi movida para Ferramentas> Opções> Projetos e soluções> Projetos da Web> Parar depurador quando a janela do navegador estiver fechada, feche o navegador ao depurar pára . Veja imagem
jag
11
@ag Obrigado, eu o incluí nas instruções.
Jerone
83

O motivo da mudança de comportamento é devido ao suporte do VS 2017 para depuração de JavaScript / TypeScript em execução no Chrome. Veja o anúncio aqui https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Para retornar ao comportamento de 2015 em que o Chrome não está fechado pelo depurador, desative o depurador de scripts do IE / Chrome em Ferramentas -> Opções, da seguinte forma:

Opções do depurador

Mads Kvist Kristensen
fonte
8
Isso não estava funcionando para mim até que eu desativasse "Ativar edição e continuar" ( stackoverflow.com/questions/20831676/… ). Eu acho que as duas mudanças juntas são a solução completa.
JoaoRibeiro
4
não funciona em vs2017, mesmo depois de desativarEdit and Continue
Ahmad molaie
24

Para aqueles que atualizaram para o Visual Studio 2019, essa configuração agora está em Ferramentas> Opções ...

E, em seguida, na caixa de diálogo Opções (veja a imagem abaixo) Projetos e soluções> Projeto Web:
DesmarqueStop debugger when broswer window is closed, close browser when debugging

insira a descrição da imagem aqui

Jean-Sébastien Gervais
fonte
Desmarcar apenas esta opção não é suficiente. Quando você fecha o navegador, o depurador também para.
FrenkyB
@FrenkyB Eu só acho que você precisa fechar e reabrir todas as suas instâncias do visual studio, pois o vs debugger não está parando do meu lado quando fecho o navegador.
Jean-Sébastien Gervais
19

Estou escrevendo esta resposta, pois acho que as anteriores cobrem apenas metade do problema.

A primeira coisa que você quer é se livrar desse irritante 'execute o Chrome como uma nova janela e feche automaticamente quando parar a depuração'

Ferramentas → Opções → desmarque a opção Habilitar depuração de JavaScript no ASP.NET

Depois de fazer isso ao iniciar a depuração, o chrome abre uma nova guia, depois de parar a guia não é fechada, mas o site refrescante mostra a tela branca

novamente em Ferramentas → Opções

desmarque Ativar edição e continuar

Desde agora você tem seu antigo comportamento de volta.

Janela Opções

Pieczarr
fonte
3
com VS 15.7.0 ambas as opções são necessários (antes a resposta accapted foi suficiente)
Stefan
11
@Stefan está correto; você precisa das duas opções desativadas agora. Mas anteriormente ele abriria uma guia e agora abriria outra instância do navegador selecionado.
Jerone
mas preciso editar e continuar com o código do servidor, por que eles estão entrelaçados?
Ethermal 17/05/19
A resposta de @ethermal jerone (Projetos da Web -> Parar depurador desmarcado) funciona sem desabilitar Editar e Continuar.
Steve Greene
2

Vá em Ferramentas -> Opções e procure por " Stop Debugger ". Em seguida, selecione o nó Projetos da Web em Projetos e soluções. Desmarque a opção " Parar depurador quando a janela do navegador estiver fechada ". Antes dessa opção, você deve aplicar a sugestão de @jerone .

PS: Esta opção pode ser usada após a versão 15.7 do VS

Pode PERK
fonte
1

Existem duas maneiras de fazer isso:

  1. Inicie sem depuração pressionando ctrl + f5 ou
  2. Inicie com a depuração (pressionando f5) e, em seguida, vá para o menu Debug e pressione "Detach All"

Espero que ajude.

Michael Braude
fonte
6
Acho que nenhuma das respostas realmente resolve esse terrível problema de fluxo de trabalho / depuração de 2017. O ponto é que, em 2015, você poderá iniciar uma instância existente do Chrome e ainda depurar o código do servidor no VS. Parece que não há uma maneira razoável de fazer isso com 2017. Você não precisa 'Desanexar todos' toda vez que inicia seu aplicativo e fechar uma instância extra do Chrome que aparece, etc. Não é difícil para Michael B. muito irritado com a MS sobre esta questão. Espero que exista uma solução melhor para voltar ao fluxo de trabalho de depuração de 2015 que fazia sentido.
Austin Harris
4
@ Austin, obrigado por esse feedback. Vou passá-lo para a equipe (eu trabalho em Visual Studio da Microsoft)
Michael Braude
3
@MichaelBraude Sim, este é um grande passo atrás na produtividade.
Spongman
11
Como Mads diz, você pode desativar o novo comportamento se não gostar. Obrigado por esse feedback!
22817 Michael Braude
2
Sim, mas isso também desativa o depurador do Chrome.
Spongman