Come disabilitare la nuova finestra di debug in VS2017


175

Sto usando Visual Studio 2017 RC e mi sento molto frustrato dalla nuova finestra di Chrome che si apre facendo clic su Debug.

Problemi con la finestra di debug di Chrome:

  • L'avvio / "collegamento" del sito web richiede anni (penso che stia collegando tutto il debug javascript di cui non ho bisogno perché utilizzo Chrome DevTools comunque)
  • Non ancorabile (come una scheda) con altre finestre di Chrome
  • Non ricorda la storia della forma. Se sto testando i moduli non riesco a completare automaticamente i dati dei moduli, quindi devo digitare l'intero lotto ogni volta
  • Non ricorda la cronologia degli URL. Se sto testando una pagina specifica sul mio sito, non riesco a selezionare rapidamente l'URL dal menu a discesa della barra dell'URL di Chrome. Devi digitare l'URL per intero
  • Le estensioni non sono abilitate, quindi non posso usare le mie estensioni righello o selettore colore
  • La finestra di Chrome si chiude quando il debug si interrompe, quindi devo aprire una nuova finestra per continuare a navigare nel sito locale

Qualcuno sa come disabilitare questa nuova finestra in stile Debug e tornare a com'era in VS 2015?


8
Opzioni -> Progetto e soluzioni -> Progetti Web. Deseleziona "Interrompi debugger quando la finestra del browser è chiusa". Questo smetterà di aprire sempre una nuova finestra.
1818

Risposte:


46

Questo non è un problema, piuttosto una nuova funzionalità in VS 2017. In precedenza era possibile eseguire il debug di JS e TypeScript solo utilizzando IE in modalità debug (di VS). Ma ora hanno introdotto il debug di JS e TS all'interno di VS utilizzando la funzione di debug remoto di Chrome. Se si esegue l'applicazione in modalità debug (premendo F5) e Chrome è il browser selezionato, Visual Studio 2017 proverà ad aprire una sessione di debug remota con Chrome su una porta dedicata. Con il debug remoto,

  1. Il browser viene avviato in modalità normale, ovvero senza estensione e senza cronologia ecc. Il debuggin remoto non funziona con un'istanza esistente di Chrome già in esecuzione.

  2. Vedi sempre questa finestra per un po '. A questo punto, VS sta cercando di collegare il debugger remoto a VS

inserisci qui la descrizione dell'immagine

  1. Per tornare all'esperienza di debug di VS 2015, modificare la destinazione di debug da Chrome a IIS Express.

Questo post descrive questa funzionalità in dettaglio. https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Una sorta di soluzione rapida consiste nel premere F5 e avviare la sessione di debug e dimenticare la finestra di Chrome appena aperta. Vai alla tua normale istanza di Chrome e apri il tuo sito in una nuova scheda. Sarai comunque in grado di eseguire il debug e fare tutto perché IIS Express eseguirà comunque la tua app su quella porta.

Aggiornamento: la risposta data di seguito da @Steveadoo è la strada giusta da seguire. L'opzione mostrata nel suo screenshot controlla come viene avviato Chrome per il debug. Deselezionalo se desideri attenersi alla tua normale istanza di Chrome.

Spero che questo ti aiuti.


Grazie! Ho impostato il mio obiettivo di debug su IIS Express, ma ora dopo aver fatto clic su debug o dopo la pubblicazione, non apre più automaticamente un browser e passa all'URL (come ha fatto VS2015). Vedo che il tuo link dice "Ci sarà un'impostazione in Visual Studio che ti permetterà di disabilitare il debug sul lato client sia in IE che in Chrome, ma sfortunatamente non è arrivato al candidato della versione". Spero davvero che venga aggiunto, preferivo di gran lunga il modo in cui il 2015 ha fatto le cose :)
mejobloggs

Dovresti anche essere in grado di avviare senza debug premendo ctrl + f5 invece di solo f5. Inoltre, per risolvere questo problema: "La finestra di Chrome si chiude quando il debug si interrompe, quindi devo aprire una nuova finestra per continuare a navigare nel sito locale" - basta staccare dalla destinazione di debug invece di interrompere il debug (Debug -> Rimuovi tutto).
Michael Braude,

utilizziamo l'opzione "Local IIS" nei nostri siti Web e non visualizzo l'opzione "IIS Express" in tale menu a discesa. Quando provo a collegarmi a Chrome, visualizzo la finestra "Attendi mentre alleghiamo", ma VS lancia un messaggio di errore:Unable to start program "http://mywebsite.com". system cannot find file specified
DLeh

14
Una semplice risposta sarebbe più utile per una domanda del genere
AngJobs su Github il

2
Downvote per questo. La risposta corretta dovrebbe essere Opzioni -> Progetto e soluzioni -> Progetti Web. Deseleziona "Interrompi debugger quando la finestra del browser è chiusa". Questo smetterà di aprire sempre una nuova finestra.
1818

356

Non sono sicuro che questo sia arrivato con l'ultimo aggiornamento VS 2017, ma all'interno di Debug -> Opzioni puoi disabilitarlo ora.

Deseleziona solo quello evidenziato: inserisci qui la descrizione dell'immagine


3
Grazie per la soluzione Il problema di cui sopra in VS 2017 sta rendendo il mio sistema non rispondente. Spero che aiuti il ​​caso, proverò ad aggiornare
Satyajit il

Sì. Viene fornito con VS2017 ma grazie per aver salvato la vita!
Zahid Mustafa,

Grazie!! Ho dimenticato quanto fosse più semplice il debug prima dell'aggiunta di questa "funzionalità".
Andrew,

5
Ho appena avuto 15.7 - questo non funziona per me ora - a partire dal debugger c # si apre ancora in una nuova finestra.
niico

9
Per coloro che hanno avuto il problema, eseguire il backup in 15.7, consultare stackoverflow.com/a/50268873/2497 per la soluzione.
Daniel Gimenez,

86

Per chi, che ha l'aggiornamento 15.7 e deseleziona le opzioni JavaScript non fa il trucco, ha trovato una soluzione qui:

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

Strumenti> Opzioni> Progetti e soluzioni> Progetti Web, deseleziona "Ferma il debugger quando la finestra del browser è chiusa"


Grazie per questo! Sono sorpreso che VS2017 abbia ~ 3 caselle di controllo per attivare / disattivare questa funzione. Sono sicuro che c'è una sottile differenza tra tutti loro.
James Haug,



8

inserisci qui la descrizione dell'immagineNel menu VS fare clic su:

Strumenti> Opzioni> cerca "progetti browser"> deseleziona l'ultima opzione "Interrompi debugger alla chiusura della finestra del browser.

questo farà il lavoro.


3

Debug> Opzioni> Debug> Generale> (deseleziona) Abilita debug JavaScript per ASP.Net (Chrome e IE).

Strumenti> Opzioni> Progetti e soluzioni> Progetti Web, deseleziona "Ferma il debugger quando la finestra del browser è chiusa"

funziona per me, Visual Studio Professional 2017, v 15.7.3


2

Sto usando Visual Studio 2017 e ciò che ha funzionato per me è una combinazione di queste due opzioni:

  1. Disabilita il debug JavaScript in Debug -> Opzioni -> Debug -> Generale Abilita il debug JavaScript per ASP.Net.
  2. Disabilita il debug quando il browser viene chiuso in Debug -> Opzioni -> Progetti e soluzioni -> Progetti Web -> Ferma il debugger alla chiusura delle finestre del browser, chiudi il browser quando il debug si arresta.

Quando ho usato solo uno di questi due non ha funzionato.


2

se guardi al caso JavaScript

Per Attivazione e disattivazione JavaScript debug in VisualStudio è la stessa su tutte le versioni

  • Menu degli strumenti
  • Opzioni...
  • Debug -> Generale
  • Deseleziona "Abilita debug JavaScript per ASP.NET"

-1

In Visual Studio 2017:

inserisci qui la descrizione dell'immagine

Se ti chiede di riaccendere il debugger JS, scegli un'altra opzione (Continuerà a chiederti se hai dei punti di interruzione nel codice dello script):

Disattiva il debugger di script

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.