Как отключить новое окно отладки в VS2017

175

Я использую Visual Studio 2017 RC и очень разочарован новым окном Chrome, которое появляется, когда вы нажимаете Отладка.

Проблемы с окном отладки Chrome:

  • Требуется много времени, чтобы запустить / «прикрепить» веб-сайт (я думаю, что он прикрепляет всю отладку javascript, которая мне не нужна, так как я все равно использую Chrome DevTools)
  • Не стыкуется (как вкладка) с другими окнами Chrome
  • Не помнит историю формы. Если я тестирую формы, я не могу автоматически заполнять данные формы, поэтому мне приходится каждый раз печатать всю партию
  • Не помнит историю URL. Если я тестирую определенную страницу на своем сайте, я не могу быстро выбрать URL из выпадающего списка Chrome url bar. Должен ввести URL-адрес полностью
  • Расширения не включены, поэтому я не могу использовать свои линейки или расширения палитры цветов
  • Окно Chrome закрывается, когда отладка останавливается, поэтому мне нужно открыть новое окно, чтобы продолжить просмотр локального сайта

Кто-нибудь знает, как отключить это новое окно стиля отладки и вернуться к тому, как это было в VS 2015?

mejobloggs
источник
8
Параметры -> Проект и решения -> Веб-проекты. Снимите флажок «Остановить отладчик, когда окно браузера закрыто». Это прекратит открывать новое окно все время.
t00thy

Ответы:

46

Это не проблема, скорее новая функция в VS 2017. Ранее мы могли отлаживать только JS и TypeScript, используя IE в режиме отладки (VS). Но теперь они представили отладку JS и TS внутри VS, используя функцию удаленной отладки Chrome. Если вы запускаете приложение в режиме отладки (нажимая клавишу F5) и в качестве браузера выбран Chrome, Visual Studio 2017 попытается открыть сеанс удаленной отладки с Chrome на выделенном порту. С удаленной отладкой,

  1. Браузер запускается в обычном режиме, то есть без расширения, без истории и т. Д. Удаленная отладка не работает с уже существующим экземпляром Chrome.

  2. Вы всегда видите это окно некоторое время. На этом этапе VS пытается подключить удаленный отладчик к VS

введите описание изображения здесь

  1. Чтобы вернуться к опыту отладки VS 2015, измените цель отладки с Chrome на IIS Express.

Этот пост подробно описывает эту функцию. https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Чтобы быстро обойти это, нажмите F5, запустите сеанс отладки и забудьте о недавно открытом окне Chrome. Перейдите к обычному экземпляру Chrome и просто откройте свой сайт в новой вкладке. Вы по-прежнему сможете отлаживать и делать все, потому что IIS Express по-прежнему будет запускать ваше приложение на этом порту.

Обновление: ответ, данный @Steveadoo ниже, - правильный путь в будущем. Опция, показанная на его скриншоте, контролирует запуск Chrome для отладки. Снимите этот флажок, если вы хотите придерживаться своего обычного экземпляра Chrome.

Надеюсь это поможет.

Усман
источник
Спасибо! Я установил в качестве цели отладки IIS Express, но теперь, после нажатия кнопки «Отладка» или после публикации, он больше не открывает браузер автоматически и не переходит на URL (как это делал VS2015). Я вижу, что ваша ссылка гласит: «В Visual Studio будет параметр, позволяющий отключить отладку на стороне клиента как в IE, так и в Chrome, но, к сожалению, это не помогло кандидату в релиз». Я действительно надеюсь, что это будет добавлено, я очень предпочел, как 2015 сделал вещи :)
mejobloggs
Вы также должны иметь возможность запустить без отладки, нажав Ctrl + F5 вместо просто F5. Кроме того, чтобы решить эту проблему: «Окно Chrome закрывается, когда отладка останавливается, поэтому мне нужно открыть новое окно, чтобы продолжить просмотр локального сайта» - просто отсоедините от цели отладки вместо остановки отладки (Debug -> Detach All).
Майкл Брауде
мы используем опцию «Локальный IIS» на наших веб-сайтах, и я не вижу опцию «IIS Express» в этом выпадающем списке. Когда я пытаюсь запустить приложение Chrome, я получаю окно «Пожалуйста, подождите, пока мы присоединяем», но VS выдает сообщение об ошибке:Unable to start program "http://mywebsite.com". system cannot find file specified
DLeh
14
Простой ответ был бы более полезен для такого вопроса
AngJobs на Github
2
Даунвот за это. Правильный ответ должен быть Параметры -> Проект и решения -> Веб-проекты. Снимите флажок «Остановить отладчик, когда окно браузера закрыто». Это прекратит открывать новое окно все время.
t00thy
356

Я не уверен, пришло ли это с последним обновлением VS 2017, но внутри Debug -> Options вы можете отключить его сейчас.

Просто снимите выделенный: введите описание изображения здесь

Steveadoo
источник
3
Спасибо за решение. Вышеупомянутая проблема в VS 2017 делает мою систему не отвечающей. Надеюсь, что это поможет делу, постараюсь обновить
Satyajit
Да. Он поставляется с VS2017, но спасибо за спасение жизни!
Захид Мустафа,
Спасибо!! Я забыл, насколько проще была отладка, прежде чем эта «функция» была добавлена.
Андрей
5
Только что получил 15,7 - это не работает для меня сейчас - запуск в отладчике C # все еще открывается в новом окне.
niico
9
Для тех, у кого проблема выползла обратно в 15.7, см. Решение для решения проблемы stackoverflow.com/a/50268873/2497 .
Даниэль Гименес
86

Для thoose, у которого обновление 15.7 и снятие отметки с опций JavaScript не решают проблему, нашел решение здесь:

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

Инструменты> Параметры> Проекты и решения> Веб-проекты, снимите флажок «Остановить отладчик, когда окно браузера закрыто»

Катя браз
источник
Спасибо за это! Я удивлен, что VS2017 имеет ~ 3 флажка для включения / выключения этой функции. Я уверен, что между ними есть тонкая разница.
Джеймс Хауг
20

Вот блог Microsoft об этой новой функциональности и о том, как ее вернуть.

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

Вот путь, по которому я пошел, чтобы отключить:

Отладка> Параметры> Отладка> Общие> (снимите флажок) Включить отладку JavaScript для ASP.Net (Chrome и IE).

Райан Бокен
источник
8

введите описание изображения здесьВ меню VS нажмите:

Сервис> Параметры> поиск по "проектам браузера"> снимите флажок с последней опции "Остановить отладчик, когда окно браузера закрыто.

это сделает работу.

Али Джамал
источник
3

Отладка> Параметры> Отладка> Общие> (снимите флажок) Включить отладку JavaScript для ASP.Net (Chrome и IE).

Инструменты> Параметры> Проекты и решения> Веб-проекты, снимите флажок «Остановить отладчик, когда окно браузера закрыто»

работает для меня, visual studio professional 2017, v 15.7.3

Авнер Пиньейру
источник
2

Я использую Visual Studio 2017, и мне помогло сочетание этих двух параметров:

  1. Отключите отладку JavaScript в разделе Отладка -> Параметры -> Отладка -> Общие. Включите отладку JavaScript для ASP.Net.
  2. Отключить остановку отладки, когда браузер закрыт, в меню «Отладка» -> «Параметры» -> «Проекты и решения» -> «Веб-проекты» -> «Остановить отладчик, когда окна браузера закрыты, закрыть браузер, когда отладка остановлена».

Когда я использовал только один из этих двух, он не работал.

Михаил Сенютович
источник
2

если вы посмотрите на JavaScript случай

Для Включение и отключение JavaScript отладки в VisualStudio одинакова на всех версиях

  • Меню инструментов
  • Параметры...
  • Отладка -> Общее
  • Снимите флажок «Включить отладку JavaScript для ASP.NET»
Хамит ЙИЛДИРИМ
источник
-1

В Visual Studio 2017:

введите описание изображения здесь

Если он снова предложит вам снова включить JS-отладчик, выберите другой вариант (он будет продолжать запрашивать вас, если у вас есть точки останова в коде скрипта):

Отключить отладчик скриптов

Сумма Нет
источник