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

338

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 s'est passé 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 cours d'exécution / 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 être connectée à d'autres fenêtres / onglets Chrome
  • Appuyez sur Arrêter le débogage
  • La fenêtre du site Web / Chrome se ferme, je ne peux pas continuer à utiliser le site à moins que je ne passe manuellement à la fenêtre de l'hôte local dans Chrome

Est-il possible en 2017 de revenir au style 2015? Ainsi, la fenêtre Chrome / Site Web peut être ancrée avec d'autres fenêtres / onglets Chrome, et elle reste ouverte après l'arrêt du débogage?

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

mejobloggs
la source

Réponses:

585

Visual Studio 2017 version 15.7 et supérieure et Visual Studio 2019 ont à nouveau changé les choses.

La désactivation des cases à cocher suivantes vous permettra de garder le navigateur ouvert (ne se ferme pas après l'arrêt du débogage) et ouvre un autre onglet (au lieu d'une autre fenêtre):

entrez la description de l'image ici

entrez la description de l'image ici

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

  • ( Visual Studio 2017 ) Désactivez «Arrêter le débogueur lorsque la fenêtre du navigateur est fermée».
  • ( Visual Studio 2019 ) Désactivez "Arrêter le débogueur lorsque la fenêtre du navigateur est fermée, fermer le navigateur lorsque le débogage s'arrête".
jerone
la source
Consultez également ce rapport de bogue connexe dans la communauté des développeurs Microsoft.
Uwe Keim
112
Qui diable a ajouté cette fonctionnalité et a pensé que oui, parfait. C'est tellement ennuyeux!
Jon
2
Veuillez également fournir une solution de texte lorsque l'image est supprimée, etc.
mohas
18
Pour VS 2019: si quelqu'un recherche la dernière option (Arrêter le débogueur lorsque la fenêtre du navigateur est fermée), il l'a déplacée vers Outils> Options> Projets et solutions> Projets Web> Arrêter le débogueur lorsque la fenêtre du navigateur est fermée, fermer le navigateur lors du débogage s'arrête . Voir l'image
jag
1
@jag Merci, je l'ai inclus dans les instructions.
jerone
83

La raison du changement de comportement est due à la prise en charge de VS 2017 pour le débogage JavaScript / TypeScript exécuté 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 2015 où Chrome n'est pas fermé par le débogueur, désactivez le débogueur de script IE / Chrome dans Outils -> Options comme ceci:

Options du débogueur

Mads Kvist Kristensen
la source
8
Cela ne fonctionnait pas pour moi tant que je n'ai pas désactivé "Activer la modification et continuer" ( stackoverflow.com/questions/20831676/… ). Je pense que les deux changements ensemble sont la solution complète.
JoaoRibeiro
4
ne fonctionne pas dans vs2017, même après la désactivationEdit and Continue
ahmad molaie
24

Pour ceux d'entre vous qui ont mis à jour vers Visual Studio 2019, cette configuration est maintenant sous Outils> Options ...

Et puis dans la boîte de dialogue des options (voir l'image ci-dessous) Projets et solutions> Projet Web:
décochezStop debugger when broswer window is closed, close browser when debugging

entrez la description de l'image ici

Jean-Sébastien Gervais
la source
Ne décocher que cette option ne suffit pas. Lorsque vous fermez le navigateur, le débogueur s'arrête également.
FrenkyB
@FrenkyB Je suppose que vous devez fermer et rouvrir toutes vos instances de Visual Studio car le débogueur ne s'arrête pas de mon côté lorsque je ferme le navigateur.
Jean-Sébastien Gervais
19

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, c'est de vous débarrasser de cet ennuyeux `` exécuter Chrome comme une nouvelle fenêtre et se fermer automatiquement lorsque le débogage est arrêté ''

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

Après avoir fait cela lors du démarrage du débogage, Chrome ouvre un nouvel onglet, après l'arrêt, l'onglet n'est pas fermé mais le site Web rafraîchissant affiche un écran blanc

dans les Outils → Options

décochez Activer Modifier et Continuer

Depuis, vous avez retrouvé votre ancien comportement.

Fenêtre d'options

Pieczarr
la source
3
avec VS 15.7.0, les deux options sont requises (avant que la réponse adaptée ne soit suffisante)
Stefan
1
@Stefan est correct; vous devez désactiver les deux options maintenant. Mais auparavant, il ouvrait un onglet et ouvrait maintenant une autre instance du navigateur sélectionné.
jerone
mais j'ai besoin de modifier et de continuer pour le code côté serveur, pourquoi sont-ils entrelacés?
éthermal
La réponse de @ethermal jerone (Projets Web -> Arrêter le débogueur non cochée) fonctionne sans désactiver Édition et Continuer.
Steve Greene
2

Allez dans 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 la suggestion de @jerone .

PS: cette option peut être utilisée après VS version 15.7

Peut PERK
la source
1

Il y a deux façons de faire ça:

  1. Soit Lancer sans débogage en appuyant sur ctrl + f5 ou
  2. Lancez avec le débogage (en appuyant sur f5) puis allez dans le menu Déboguer et appuyez sur "Détacher tout"

J'espère que cela pourra aider.

Michael Braude
la source
6
Je ne pense pas que l'une ou l'autre réponse réponde vraiment à ce terrible problème de flux de travail / débogage de 2017. Le fait 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 possible de le faire avec 2017. Vous ne devriez pas avoir à «Détacher tout» à chaque fois que vous lancez votre application, et fermez une instance supplémentaire de Chrome qui apparaît, etc. très ennuyé par MS à ce sujet. J'espère qu'il existe une meilleure solution pour revenir au flux de travail de débogage 2015 qui avait du sens.
Austin Harris
4
@Austin, merci pour ces commentaires. Je vais le transmettre à l'équipe (je travaille sur Visual Studio chez Microsoft)
Michael Braude
3
@MichaelBraude ouais, c'est un grand pas en arrière dans la productivité.
Spongman
1
Comme le dit Mads, vous pouvez désactiver le nouveau comportement si vous ne l'aimez pas. Merci pour ces retours!
Michael Braude
2
oui, mais cela désactive également le débogueur Chrome.
Spongman