454 votes

Comment empêcher la fermeture automatique du navigateur lorsque vous arrêtez le débogage sur VS 2017

J'essaie le nouveau VS 2017 RC et je me demande si quelqu'un sait comment récupérer le comportement de débogage précédent.

Dans VS 2015, cela se passait comme suit :

Appuyez sur démarrer le débogage

  • Le site web s'ouvre dans un nouvel onglet Chrome
  • Appuyez sur arrêter le débogage
  • Le site web est toujours ouvert et le site est toujours en fonctionnement/actif

Maintenant en 2017 :

  • Appuyez sur démarrer le débogage
  • Le site Web s'ouvre dans une nouvelle fenêtre qui ne peut pas s'accrocher aux autres fenêtres/onglets de Chrome.
  • Appuyez sur arrêter le débogage
  • La fenêtre du site Web/de Chrome se ferme, je ne peux pas continuer à utiliser le site à moins d'accéder manuellement à la fenêtre localhost dans Chrome.

Est-il possible en 2017 de repasser au style 2015 ? Ainsi, la fenêtre Chrome/site web peut s'ancrer avec d'autres fenêtres/onglets Chrome, et elle reste ouverte après avoir arrêté le débogage ?

De plus, je trouve la nouvelle fenêtre Chrome frustrante à utiliser, car elle semble ne pas avoir d'historique/contenu disponible. Par exemple, je ne peux pas autocompléter les formulaires ou les urls, ce qui est très ennuyeux lorsque j'essaie de tester un formulaire.

0 votes

Pour ceux qui utilisent Blazor - j'ai trouvé qu'utiliser Opera pour le débogage résout beaucoup de ces problèmes.

800voto

jerone Points 3027

Visual Studio 2017 version 15.7 et supérieure a encore changé les choses.

En désactivant les cases à cocher suivantes, vous pourrez garder le navigateur ouvert (il ne se ferme pas après l'arrêt du débogage) et ouvrir un autre onglet (au lieu d'une autre fenêtre) :

enter image description here

enter image description here

Outils > Options > Débogage > Général

  • Désactivez "Activer le débogage JavaScript pour ASP.NET (Chrome, Edge et IE)".

Outils > Options > Projets et solutions > Projets Web

  • Désactiver "Arrêter le débogueur lorsque la fenêtre du navigateur est fermée".

0 votes

Voir aussi ce rapport de bogue connexe dans la communauté des développeurs Microsoft.

157 votes

Qui diable a ajouté cette fonctionnalité et s'est dit que c'était parfait. C'est tellement ennuyeux !

2 votes

Veuillez également fournir une solution textuelle pour le cas où l'image serait supprimée, etc.

90voto

La raison de ce changement de comportement est due à la prise en charge par VS 2017 du débogage de JavaScript/TypeScript s'exécutant dans Chrome. Voir l'annonce ici https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Pour revenir au comportement de 2015 où Chrome n'est pas fermé par le débogueur, désactivez le débogueur IE/Chrome script dans Outils -> Options comme suit :

Debugger options

9 votes

Cela ne fonctionnait pas pour moi jusqu'à ce que je désactive la fonction "Activer la modification et la poursuite" ( stackoverflow.com/questions/20831676/ ). Je pense que les deux changements réunis constituent la solution complète.

4 votes

Ne fonctionne pas dans vs2017, même après avoir désactivé l'option Edit and Continue

29voto

Pieczarr Points 167

J'écris cette réponse car je pense que les précédentes ne couvrent que la moitié du problème.

La première chose que vous voulez est de vous débarrasser de cet ennuyeux "exécuter chrome comme une nouvelle fenêtre et le fermer automatiquement lorsqu'on arrête le débogage".

Outils → Options → décocher Activer le débogage JavaScript pour ASP.NET

Après avoir fait cela, au début du débogage, chrome ouvre un nouvel onglet, après avoir arrêté l'onglet n'est pas fermé mais le rafraîchissement du site Web montre un écran blanc.

à nouveau dans le Outils → Options

décochez Activer l'option Modifier et Continuer

Depuis, vous avez retrouvé votre ancien comportement.

Options window

3 votes

Avec VS 15.7.0 les deux options sont requises (avant la réponse adaptée était suffisante)

2 votes

@Stefan a raison ; vous devez désactiver les deux options maintenant. Mais auparavant, il ouvrait un onglet, et maintenant il ouvre une autre instance du navigateur sélectionné.

1 votes

Mais j'ai besoin d'éditer et de continuer pour le code côté serveur, pourquoi sont-ils entrelacés ?

12voto

Can PERK Points 165

Aller à Outils -> Options et recherchez " Arrêter le débogueur ". Sélectionnez ensuite le nœud Projets Web sous Projets et solutions. Décochez " Arrêter le débogueur lorsque la fenêtre du navigateur est fermée ". Avant cette option, vous devez appliquer @jerone La suggestion de la Commission.

PS : Cette option peut être utilisée après la version 15.7 de VS.

2voto

Michael Braude Points 6024

Il y a deux façons de procéder :

  1. Soit Lancer sans déboguer en appuyant sur ctrl + f5, soit
  2. Lancez le débogage (en appuyant sur f5), puis allez dans le menu Debug et appuyez sur "Detach All".

J'espère que cela vous aidera.

7 votes

Je ne pense pas que l'une ou l'autre des réponses aborde vraiment ce terrible problème de flux de travail / débogage de 2017. Le point est qu'en 2015, vous pouvez lancer dans une instance Chrome existante et toujours déboguer le code du serveur dans VS. Il ne semble pas y avoir de moyen raisonnable de faire cela avec 2017. Vous ne devriez pas avoir à "Détacher tout" chaque fois que vous lancez votre application, et fermer une instance supplémentaire de Chrome qui apparaît, etc. Je ne donne pas de fil à retordre à Michael B., je suis juste très ennuyé par MS à propos de ce problème. J'espère qu'il existe une meilleure solution pour revenir au flux de travail de débogage de 2015 qui avait du sens.

4 votes

@Austin, merci pour ces commentaires. Je vais le transmettre à l'équipe (je travaille sur Visual Studio chez Microsoft).

3 votes

@MichaelBraude oui, c'est un grand pas en arrière dans la productivité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X