So beenden Sie das automatische Schließen des Browsers, wenn Sie das Debuggen in VS 2017 beenden

336

Ich probiere den neuen VS 2017 RC aus und frage mich, ob jemand weiß, wie er das vorherige Debugging-Verhalten zurückbekommt

In VS 2015 ging es so:

Drücken Sie Start Debugging

  • Die Website wird in einem neuen Chrome-Tab geöffnet
  • Drücken Sie Stop Debugging
  • Die Website ist noch geöffnet und die Website läuft noch / ist aktiv

Jetzt im Jahr 2017:

  • Drücken Sie Start Debugging
  • Die Website wird in einem neuen Fenster geöffnet, das nicht mit anderen Chrome-Fenstern / Registerkarten andocken kann
  • Drücken Sie Stop Debugging
  • Das Website- / Chrome-Fenster wird geschlossen. Die Website kann nur verwendet werden, wenn ich manuell zum localhost-Fenster in Chrome gehe

Ist es 2017 möglich, wieder in den Stil von 2015 zu wechseln? Das Chrome / Website-Fenster kann also mit anderen Chrome-Fenstern / Tabs andocken und bleibt geöffnet, nachdem Sie das Debuggen beendet haben.

Außerdem finde ich die Verwendung des neuen Chrome-Fensters frustrierend, da anscheinend kein Verlauf / Inhalt verfügbar ist. ZB kann ich Formulare oder URLs nicht automatisch vervollständigen, was sehr ärgerlich ist, wenn ich versuche, ein Formular zu testen

mejobloggs
quelle

Antworten:

582

Visual Studio 2017 Version 15.7 und höher und Visual Studio 2019 haben die Dinge erneut geändert.

Durch Deaktivieren der folgenden Kontrollkästchen können Sie den Browser geöffnet lassen (wird nach dem Stoppen des Debuggens nicht geschlossen) und eine andere Registerkarte (anstelle eines anderen Fensters) öffnen:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Extras> Optionen> Debuggen> Allgemein

  • Deaktivieren Sie "JavaScript-Debugging für ASP.NET (Chrome, Edge und IE) aktivieren".

Extras> Optionen> Projekte und Lösungen> Webprojekte

  • ( Visual Studio 2017 ) Deaktivieren Sie "Debugger stoppen, wenn das Browserfenster geschlossen wird".
  • ( Visual Studio 2019 ) Deaktivieren Sie "Debugger stoppen, wenn das Browserfenster geschlossen ist, Browser schließen, wenn das Debuggen beendet wird".
Jerone
quelle
Siehe auch diesen zugehörigen Fehlerbericht in der Microsoft Developer Community.
Uwe Keim
112
Wer zum Teufel hat diese Funktion hinzugefügt und dachte ja, perfekt. Es ist so nervig!
Jon
2
Bitte geben Sie auch eine
Textlösung an,
18
Für VS 2019: Wenn jemand nach der letzten Option sucht (Debugger stoppen, wenn das Browserfenster geschlossen ist), hat er sie zu Extras> Optionen> Projekte und Lösungen> Webprojekte> Debugger stoppen, wenn das Browserfenster geschlossen ist, schließen Sie den Browser beim Debuggen stoppt . Siehe Bild
jag
1
@ jag Danke, ich habe es in die Anleitung aufgenommen.
Jerone
83

Der Grund für die Verhaltensänderung liegt in der Unterstützung von VS 2017 für das Debuggen von JavaScript / TypeScript, das in Chrome ausgeführt wird. Siehe Ankündigung hier https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Deaktivieren Sie den IE / Chrome-Skript-Debugger unter Extras -> Optionen, um zum Verhalten von 2015 zurückzukehren, bei dem Chrome nicht vom Debugger geschlossen wird:

Debugger-Optionen

Mads Kvist Kristensen
quelle
8
Dies funktionierte bei mir erst, als ich "Bearbeiten und Fortfahren aktivieren " ( stackoverflow.com/questions/20831676/… ) deaktivierte . Ich denke, beide Änderungen zusammen sind die vollständige Lösung.
JoaoRibeiro
4
funktioniert nicht in vs2017, auch nach dem DeaktivierenEdit and Continue
ahmad molaie
24

Für diejenigen unter Ihnen, die auf Visual Studio 2019 aktualisiert haben, befindet sich diese Konfiguration jetzt unter Extras> Optionen ...

Und dann im
Optionsdialog (siehe Abbildung unten) Projekte und Lösungen> Webprojekt : Deaktivieren SieStop debugger when broswer window is closed, close browser when debugging

Geben Sie hier die Bildbeschreibung ein

Jean-Sébastien Gervais
quelle
Nur diese Option zu deaktivieren, reicht nicht aus. Wenn Sie den Browser schließen, wird auch der Debugger gestoppt.
FrenkyB
@FrenkyB Ich vermute nur, dass Sie alle Ihre Visual Studio-Instanzen schließen und erneut öffnen müssen, da vs debugger nicht auf meiner Seite stoppt, wenn ich den Browser schließe.
Jean-Sébastien Gervais
19

Ich schreibe diese Antwort, da ich denke, dass die vorherigen nur die Hälfte des Problems abdecken.

Das erste, was Sie wollen, ist, dieses nervige "Chrome als neues Fenster ausführen und automatisch schließen, wenn das Debuggen beendet ist" loszuwerden.

Extras → Optionen → Deaktivieren Sie JavaScript-Debugging für ASP.NET aktivieren

Wenn Sie dies tun, wird beim Starten des Debuggens von Chrome ein neuer Tab geöffnet. Nach dem Stoppen wird der Tab nicht geschlossen, aber die aktualisierte Website zeigt einen weißen Bildschirm an

wieder in den Extras → Optionen

Deaktivieren Sie Bearbeiten aktivieren und fortfahren

Seitdem hast du dein altes Verhalten wieder.

Optionsfenster

Pieczarr
quelle
3
mit VS 15.7.0 sind beide Optionen erforderlich (bevor die angepasste Antwort ausreichte)
Stefan
1
@Stefan ist richtig; Sie müssen beide Optionen jetzt deaktivieren. Zuvor wurde jedoch eine Registerkarte geöffnet, und jetzt wird eine weitere Instanz des ausgewählten Browsers geöffnet.
Jerone
Aber ich muss den serverseitigen Code bearbeiten und fortfahren. Warum sind sie miteinander verflochten?
Ätherisch
Die Antwort von @ethermal jerone (Webprojekte -> Debugger stoppen deaktiviert) funktioniert ohne Deaktivieren von Bearbeiten und Fortfahren.
Steve Greene
2

Gehen Sie zu Extras -> Optionen und suchen Sie nach " Debugger stoppen ". Wählen Sie dann unter Projekte und Lösungen den Knoten Webprojekte. Deaktivieren Sie " Debugger stoppen, wenn das Browserfenster geschlossen wird ". Vor dieser Option sollten Sie den Vorschlag von @jerone anwenden .

PS: Diese Option kann nach VS Version 15.7 verwendet werden

Kann PERK
quelle
1

Es gibt zwei Möglichkeiten, dies zu tun:

  1. Starten Sie entweder ohne Debugging durch Drücken von Strg + F5 oder
  2. Starten Sie mit Debugging (drücken Sie f5) und gehen Sie dann zum Debug-Menü und drücken Sie "Alle trennen".

Ich hoffe, das hilft.

Michael Braude
quelle
6
Ich glaube nicht, dass eine der Antworten dieses schreckliche Problem mit dem Workflow / Debugging 2017 wirklich angeht. Der Punkt ist, dass Sie 2015 eine vorhandene Chrome-Instanz starten und weiterhin Servercode in VS debuggen können. Es gibt keinen vernünftigen Weg, dies mit 2017 zu tun. Sie sollten nicht jedes Mal, wenn Sie Ihre App starten, "Alle trennen" und eine zusätzliche Instanz von Chrome schließen müssen, die auftaucht usw. Michael B. keine schwere Zeit bereiten sehr verärgert über MS über dieses Problem. Ich hoffe, es gibt eine bessere Lösung, um zum sinnvollen Debugging-Workflow von 2015 zurückzukehren.
Austin Harris
4
@Austin, danke für dieses Feedback. Ich werde es an das Team weitergeben (ich arbeite an Visual Studio bei Microsoft)
Michael Braude
3
@MichaelBraude Ja, dies ist ein wichtiger Schritt in Richtung Produktivität.
Spongman
1
Wie Mads sagt, können Sie das neue Verhalten deaktivieren, wenn Sie es nicht mögen. Vielen Dank für dieses Feedback!
Michael Braude
2
Ja, aber dadurch wird auch der Chrome-Debugger deaktiviert.
Spongman