2015-12-10 13 views
11

Niedawno zainstalowałem NodeJS Tools for Visual Studio, która promuje obsługę środowisk Node w VS. Warto zauważyć, że ma możliwość ustawiania punktów przerwania debugowania z IDE.Jak mogę debugować zadania Gulp przy użyciu narzędzi Node dla Visual Studio?

Nie jest dla mnie jasne, czy można ustawić punkty przerwania podczas debugowania zadań Gulp. Task Runner ma możliwość wykrywania zadania Gulp i wyprowadzania instrukcji console.log do okna, ale nie znalazłem lepszego sposobu na debugowanie.

Znalazłem ten post od pewnego czasu: How can I debug gulpfile.js when running it with Visual Studio Task Runner Explorer? Jednak ten wpis nie dotyczy narzędzi NodeJS dla VS. Dlatego ponownie zadaję pytanie, aby wziąć pod uwagę tę wtyczkę.

enter image description here

+0

czy próbowałeś 'debuggera;'? Działa to w większości narzędzi opartych na javascript i narzędziach do uruchamiania Chrome, klikając przycisk F12. możesz tu także dodawać punkty przerwania. – Tomaltach

+0

Po prostu to zrobiłem, ale bezskutecznie. Problem polega na tym, że oczekiwana trasa debugowania polega na zbudowaniu/uruchomieniu projektu. Zadania Gulpa są tylko podzbiorem projektu i są od niego niezależne, więc nie mam pewności, czy istnieje możliwość ich debugowania. Tak, wiem, jak debugować narzędzia Chrome Dev. :) Mam nadzieję, że nie będę musiał korzystać z dodatkowych narzędzi do uruchamiania zadań Gulp w Chrome, gdy VS ma obsługę debugowania węzła. –

+1

Wypróbuj tę [witrynę] (http://www.greg5green.com/blog/debugging-gulp-js-tasks/) – Tomaltach

Odpowiedz

4

Można. Kliknij projekt węzła prawym przyciskiem myszy, wybierz opcję Właściwości i skonfiguruj aplikację w następujący sposób (na obrazku, default to zadanie Gulp, które chcesz uruchomić).

Debugging with VS

metoda alternatywna:

  1. w terminalu, w katalogu, w którym jest prowadzony gulpfile node --debug=44331 --debug-brk ../node_modules/gulp/bin/gulp.js default. W moim przypadku default jest nazwą zadania, które chcę uruchomić/debugować.
  2. W Visual Studio przejdź do Debug | Attach to Process. Wybierz Node.js Remote debugging jako transport, a w kwalifikatorze wybierz localhost:44331. Naciśnij enter, a powinieneś zobaczyć proces Node pojawi się na liście. Kliknij Attach.

Attach to Process

Voila, punkty przerwania są trafiony.

Breakpoints are hit

Kilka rzeczy zauważyć:

  • Jeśli masz coś Unable to attach to process. Error 0x80004005 użyć innego portu. Nie mogłem go uruchomić z portem 5858.
  • Może to nie działać po pierwszym dołączeniu do procesu (zobacz mój poprzedni zrzut ekranu, jak mam ECANCELED?). Spróbuj ponownie.
+0

Dzięki, mam to do pracy. Miałem nadzieję na coś wygodniejszego niż uruchomienie debugowania jednego uruchomienia w czasie z terminala, ale myślę, że jest wystarczająco dobre dla kilkukrotnego debugowania. – Alex

+0

Trzymaj się, właśnie zdałem sobie sprawę, że możesz. Będę edytować tę odpowiedź –

+0

Mam to do pracy wcześniej, ale teraz zawsze otrzymuję ten błąd ECANCELED, gdy próbuję dołączyć do procesu. Jakieś pomysły? – Alex

Powiązane problemy