Как я могу отлаживать задачи Gulp с помощью Node Tools для Visual Studio?

Недавно я установил Инструменты NodeJS для Visual Studio, в которых рекламируется поддержка сред Node в VS. Примечательно, что он имеет возможность устанавливать точки останова отладки из IDE.

Мне неясно, можно ли устанавливать точки останова при отладке задач Gulp. Task Runner может обнаруживать задачу Gulp и выводить операторы console.log в окно, но я не нашел лучшего средства отладки.

Недавно я нашел этот пост: Как отладить файл gulpfile.js при его запуске с помощью Visual Studio Task Runner Explorer? Однако в этом сообщении не рассматриваются инструменты NodeJS для VS. Итак, я повторно задаю вопрос, чтобы принять во внимание этот плагин.

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


person Sean Anderson    schedule 10.12.2015    source источник
comment
ты пробовал debugger; ? Это работает для большинства инструментов на основе javascript и использует инструменты разработчика Chrome, нажав кнопку F12. вы также можете добавить точки останова здесь.   -  person Tomaltach    schedule 10.12.2015
comment
Я только что сделал, но безрезультатно. Проблема в том, что ожидаемый маршрут отладки заключается в сборке/запуске проекта. Задачи Gulp — это просто подмножество проекта и не зависит от него, поэтому я не уверен, что есть поддержка для их отладки. И да, я знаю, как отлаживать в Chrome Dev Tools. :) Просто надеюсь, что вам не придется использовать дополнительные инструменты для запуска задач Gulp в Chrome, когда VS поддерживает отладку Node.   -  person Sean Anderson    schedule 10.12.2015
comment
Попробуйте этот сайт.   -  person Tomaltach    schedule 10.12.2015
comment
Верно. Это то, что я только что упомянул. Я пытаюсь не использовать Node Inspector для запуска Gulp в Chrome.   -  person Sean Anderson    schedule 10.12.2015
comment
Надеюсь, это работает для вас - hansrwindhoff.wordpress.com/2015/05/05/   -  person Utkarsh Dubey    schedule 22.04.2017
comment
@UtkarshDubey Спасибо, но это код Visual Studio. Этот вопрос касается обычной версии Visual Studio и NTVS.   -  person Alex    schedule 23.04.2017
comment
@Alex, посмотри, поможет ли мой ответ   -  person Maria Ines Parnisari    schedule 24.04.2017


Ответы (1)


Ты сможешь. Щелкните правой кнопкой мыши проект Node, выберите Свойства и настройте приложение следующим образом (на изображении default – это задача Gulp, которую вы хотите запустить).

Отладка с помощью VS

Альтернативный метод:

  1. В терминале и в каталоге, где находится gulpfile, запустите node --debug=44331 --debug-brk ../node_modules/gulp/bin/gulp.js default. В моем случае default — это имя задачи, которую я хочу запустить/отладить.
  2. В Visual Studio перейдите к Debug | Attach to Process. Выберите Node.js Remote debugging в качестве транспорта, а в квалификаторе выберите localhost:44331. Нажмите Enter, и вы должны увидеть процесс Node в списке. Нажмите Attach.

Присоединить к процессу

Вуаля, точки останова сбиты.

Точки останова сработали

Несколько вещей, чтобы заметить:

  • Если вы получаете что-то вроде Unable to attach to process. Error 0x80004005, используйте другой порт. Я не мог заставить его работать с портом 5858.
  • Это может не сработать при первом подключении к процессу (см. мой предыдущий скриншот, как я получил ECANCELED?). Попробуйте еще раз.
person Maria Ines Parnisari    schedule 23.04.2017
comment
Спасибо, я получил это, чтобы работать. Я надеялся на что-то более удобное, чем запускать отладку по одному запуску с терминала, но я думаю, этого достаточно для тех нескольких раз, когда нужно отлаживать. - person Alex; 24.04.2017
comment
Подожди, я только что понял, что ты можешь. я отредактирую этот ответ - person Maria Ines Parnisari; 24.04.2017
comment
Я заставил это работать раньше, но теперь я всегда получаю эту ошибку ECANCELED, когда пытаюсь подключиться к процессу. Любые идеи? - person Alex; 05.05.2017
comment
Да, все еще всегда получаю ту же ошибку, когда я пытаюсь подключиться. - person Alex; 05.05.2017
comment
Мой основной проект не NodeJs, это проект .NET 4.5.1. Но я использую Gulp для выполнения предварительных задач по получению и реорганизации необходимых файлов JavaScript и CSS. Итак, мне не повезло с отладкой gulp-задач и остановкой там на точках останова? - person vkelman; 29.11.2017