Comment désactiver la nouvelle fenêtre de débogage dans VS2017

176

J'utilise Visual Studio 2017 RC et je suis très frustré par la nouvelle fenêtre Chrome qui apparaît lorsque vous cliquez sur Déboguer.

Problèmes avec la fenêtre de débogage Chrome:

  • Cela prend du temps pour démarrer / «attacher» le site Web (je pense qu'il attache tout le débogage javascript dont je n'ai pas besoin car j'utilise de toute façon Chrome DevTools pour cela)
  • Non ancrable (sous forme d'onglet) avec d'autres fenêtres Chrome
  • Ne se souvient pas de l'histoire de la forme. Si je teste des formulaires, je ne peux pas remplir automatiquement les données du formulaire, je dois donc taper le tout à chaque fois
  • Ne se souvient pas de l'historique des URL. Si je teste une page spécifique sur mon site, je ne peux pas sélectionner rapidement l'URL dans la liste déroulante de la barre d'URL Chrome. Doit taper l'url en entier
  • Les extensions ne sont pas activées, je ne peux donc pas utiliser mes extensions de règle ou de sélecteur de couleurs
  • La fenêtre Chrome se ferme lorsque le débogage s'arrête, je dois donc ouvrir une nouvelle fenêtre pour continuer à naviguer sur le site local

Est-ce que quelqu'un sait comment désactiver cette nouvelle fenêtre de style de débogage et revenir à ce qu'elle était dans VS 2015?

mejobloggs
la source
9
Options -> Projet et solutions -> Projets Web. Décochez "Arrêter le débogueur lorsque la fenêtre du navigateur est fermée". Cela arrêtera d'ouvrir une nouvelle fenêtre tout le temps.
t00thy

Réponses:

46

Ce n'est pas un problème, mais plutôt une nouvelle fonctionnalité dans VS 2017. Auparavant, nous ne pouvions déboguer JS et TypeScript qu'en utilisant IE en mode débogage (de VS). Mais maintenant, ils ont introduit le débogage JS et TS dans VS à l'aide de la fonction de débogage à distance de Chrome. Si vous exécutez votre application en mode débogage (en appuyant sur F5) et que Chrome est le navigateur sélectionné, Visual studio 2017 essaiera d'ouvrir une session de débogage à distance avec Chrome sur un port dédié. Avec le débogage à distance,

  1. Le navigateur est lancé en mode clair, c'est-à-dire sans extension et sans historique, etc. Le débogage à distance ne fonctionne pas avec une instance existante de Chrome déjà en cours d'exécution.

  2. Vous voyez toujours cette fenêtre pendant un certain temps. À ce stade, VS essaie de connecter le débogueur distant à VS

entrez la description de l'image ici

  1. Pour revenir à l'expérience de débogage VS 2015, modifiez la cible de débogage de Chrome à IIS Express.

Cet article décrit cette fonctionnalité en détail. https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Une sorte de solution rapide consiste à appuyer sur F5 et à lancer la session de débogage et à oublier la fenêtre Chrome nouvellement ouverte. Accédez à votre instance Chrome normale et ouvrez simplement votre site dans un nouvel onglet. Vous pourrez toujours déboguer et tout faire car IIS Express exécutera toujours votre application sur ce port.

Mise à jour: La réponse donnée ci-dessous par @Steveadoo est la bonne voie à suivre. L'option affichée dans sa capture d'écran contrôle la façon dont Chrome est lancé pour le débogage. Décochez-la si vous souhaitez vous en tenir à votre instance Chrome habituelle.

J'espère que cela t'aides.

Usman
la source
Merci! J'ai défini ma cible de débogage sur IIS Express, mais maintenant, après avoir cliqué sur le débogage ou après la publication, il n'ouvre plus automatiquement un navigateur et va à l'URL (comme VS2015 l'a fait). Je vois que votre lien indique "Il y aura un paramètre dans Visual Studio qui vous permet de désactiver le débogage côté client dans IE et Chrome, mais malheureusement, cela n'a pas été possible pour la version candidate." J'espère vraiment que cela sera ajouté, j'ai beaucoup préféré comment 2015 a fait les choses :)
mejobloggs
Vous devriez également pouvoir lancer sans débogage en appuyant sur ctrl + f5 au lieu de juste f5. Aussi, pour résoudre ce problème: "La fenêtre Chrome se ferme lorsque le débogage s'arrête, je dois donc ouvrir une nouvelle fenêtre pour continuer à parcourir le site local" - détachez-vous simplement de la cible de débogage au lieu d'arrêter le débogage (Déboguer -> Détacher tout).
Michael Braude
nous utilisons l'option «IIS local» dans nos sites Web, et je n'obtiens pas l'option «IIS Express» dans cette liste déroulante. Quand j'essaye de courir attaché à Chrome, j'obtiens la fenêtre «Veuillez patienter pendant que nous attachons», mais VS envoie un message d'erreur:Unable to start program "http://mywebsite.com". system cannot find file specified
DLeh
14
Une réponse simple serait plus utile pour une telle question
AngJobs sur Github
2
Votez contre cela. La réponse correcte doit être Options -> Projet et solutions -> Projets Web. Décochez "Arrêter le débogueur lorsque la fenêtre du navigateur est fermée". Cela arrêtera d'ouvrir une nouvelle fenêtre tout le temps.
t00thy
356

Je ne sais pas si cela est venu avec la dernière mise à jour VS 2017, mais dans Debug -> Options, vous pouvez le désactiver maintenant.

Décochez simplement celui en surbrillance: entrez la description de l'image ici

Steveadoo
la source
3
Merci pour la solution. Le problème ci-dessus dans VS 2017 empêche mon système de répondre. J'espère que cela aidera l'affaire, essaiera de mettre à jour
Satyajit
Oui. Il est livré avec VS2017 mais merci d'avoir sauvé la vie!
Zahid Mustafa
Merci!! J'ai oublié à quel point le débogage était plus facile avant l'ajout de cette "fonctionnalité".
Andrew
5
Je viens de recevoir 15,7 - cela ne fonctionne pas pour moi maintenant - à partir du débogueur c # s'ouvre toujours dans une nouvelle fenêtre.
niico
9
Pour ceux qui ont eu le problème de remonter dans 15.7, consultez stackoverflow.com/a/50268873/2497 pour la solution.
Daniel Gimenez
87

Pour ceux qui ont la mise à jour 15.7 et décocher les options JavaScript ne fait pas l'affaire, j'ai trouvé une solution ici:

https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Outils> Options> Projets et solutions> Projets Web, décochez "Arrêter le débogueur lorsque la fenêtre du navigateur est fermée"

Katja Braz
la source
Merci pour cela! Je suis surpris que VS2017 ait ~ 3 cases à cocher pour activer / désactiver cette fonctionnalité. Je suis sûr qu'il y a une différence subtile entre tous.
James Haug
8

entrez la description de l'image iciDans le menu VS, cliquez sur:

Outils> Options> rechercher "projets de navigateur"> décochez la dernière option "Arrêter le débogueur lorsque la fenêtre du navigateur est fermée.

cela fera le travail.

Ali Jamal
la source
4

Déboguer> Options> Débogage> Général> (décocher) Activer le débogage JavaScript pour ASP.Net (Chrome et IE).

Outils> Options> Projets et solutions> Projets Web, décochez "Arrêter le débogueur lorsque la fenêtre du navigateur est fermée"

fonctionne pour moi, Visual Studio Professional 2017, v 15.7.3

Avner Pinheiro
la source
2

J'utilise Visual Studio 2017 et ce qui a fonctionné pour moi est une combinaison de ces deux options:

  1. Désactivez le débogage JavaScript dans Débogage -> Options -> Débogage -> Général Activez le débogage JavaScript pour ASP.Net.
  2. Désactivez l'arrêt du débogage lorsque le navigateur est fermé dans Débogage -> Options -> Projets et solutions -> Projets Web -> Arrêter le débogueur lorsque la fenêtre du navigateur est fermée, fermez le navigateur lorsque le débogage s'arrête.

Quand j'ai utilisé un seul de ces deux, cela n'a pas fonctionné.

Mykhailo Seniutovych
la source
2

si vous regardez le cas JavaScript

L' activation et la désactivation du débogage JavaScript dans VisualStudio sont les mêmes sur toutes les versions

  • Menu Outils
  • Options ...
  • Débogage -> Général
  • Décochez "Activer le débogage JavaScript pour ASP.NET"
Hamit YILDIRIM
la source
-1

Dans Visual Studio 2017:

entrez la description de l'image ici

S'il vous invite à nouveau à réactiver le débogueur JS, choisissez une autre option (il continuera à vous demander si vous avez des points d'arrêt dans votre code de script):

Désactiver le débogueur de script

Somme Aucun
la source