Расширение Node.js Tools для Visual Studio

в 0:15, , рубрики: Без рубрики

Как бы это странно не звучало, но компания Microsoft официально представила расширение Node.js Tools для Visual Studio!

Node.js Tools для Visual StudioРасширение NTVS предназначено для установки в Visual Studio версии 2012 и 2013. Проект имеет довольно занимательную историю своего появления. Несколько node.js энтузиастов практически одновременно начали разработку своих собственных расширений на базе проекта PTVS с целью создания расширения Node.js Tools для Visual Studio. В то же самое время команда разработчиков PTVS также выполняла работу по интеграции с node.js, попутно объединяя усилия сторонних разработчиков, что в итоге и привело к формированию сообщества проекта. Основные усилия при создании NTVS были приложены командой PTVS при содействии Барта Рида из Red Gate, разработавшего GUI для npm, и Дмитрия Третьякова из Clickberry, выполнившего работы по усовершенствованию отладчика и исправлению дефектов.

С самого начала NTVS является проектом с открытым исходным кодом, принимающий вклад со стороны сообщества. Расширение предоставляет возможности удобного редактирования кода, intellisense, профилирование, npm, локальную и удалённую откладку приложений (на машинах под управлением Windows/MacOS/Linux), а также публикации в Azure Веб-сайты и Облачные службы.

Но гораздо интересней посмотреть на всё это в действии, так что не упускайте момент — загружайте и экспериментируйте! Только обратите внимание, что некоторые функции могут работать непривычным образом, поскольку проект всё ещё находится в состоянии альфа версии.

Пустое приложение Express

NTVS использует возможности профилирования движка V8, а также возможности просмотра отчётов Visual Studio для удобного выявления критических к производительности частей приложения.

Примечание: Затрудняетесь с выбором в диалоге New Project? Visual Studio упорядочивает шаблоны в зависимости от языка, так что шаблоны проектов node.js находятся в разделе JavaScript. Также в этом диалоге могут находиться проекты Python и Django, iOS и Android на C#, TypeScript, VB, F# и многие другие.

Одна из впечатляющих функций — это то, что node.js не меняет привычный подход к разработке проектов в Visual Studio во многом благодаря продуманной архитектуре и дизайну последней. Вы просто видите node.js проект, который запускается при помощи node.exe, использует обычный отладчик и профилировщик V8. Но при всём при этом крайне приятно, что NTVS предоставляет данные профилировщика V8 в привычном средстве просмотра отчётов Visual Studio. Не нужно изобретать колесо — просто используйте уже готовый инструмент.

Исследуем блог Ghost при помощи Node.js Tools для Visual Studio

Рассмотрим работу расширения на следующем примере.

В окне Visual Studio перейдём в File | New Project, выделим категорию JavaScript и нажмём «From Existing Node.js code».

Из существующего исходного кода

Укажем в окне NTVS путь к папке Ghost.

Создание из существующего исходного кода

Затем укажем в NTVS, что стартовым является файл index.js, нажмём Next и сохраним проект, нажав Finish.

Создание проекта из существующего кода

Всё готово — мы получили проект Ghost в Visual Studio.

Примечание: поскольку установлено расширение Web Essentials мы видим удобный редактор markdown разметки.

Сейчас вы можете нажать F5 для отладки или Ctrl-F5 для запуска без отладки. Обратите внимание, что в свойствах проекта может быть изменён путь и порт отладки node.js, а также стартовый файл.

Ghost в Visual Studio с NTVS

На следующем изображении вы можете увидеть Ghost, запущенный локально. Кроме того, вы видите путь к запущенному процессу node, файл ghost.js и окно браузера.

Запуск Ghost в VS с NTVS

После установки NTVS становится доступен Intellisense с подробной информацией о большинстве модулей node.js.

Пример Intellisense

Отладка

NTVS включает полноценную отладку node.js приложения. В список функций входит пошаговая отладка, точки останова, остановка при возникновении исключений, а также окна Locals, Watch, Immediate и Call Stack.

Вы можете управлять исключениями как и в любом другом языке Visual Studio. На следующем изображении приведён список исключений node.js совместно с другими типами исключений в управляемом и неуправляемом коде.

Управление исключениями в NTVS

Отладка приложений выполняется традиционным для node.js способом, за исключением того, что Visual Studio подключается к отладчику через отдельный сокет (не забывайте, что вы можете выполнять удалённую отладку node.js приложений, запущенных на Linux или Mac). Все остальные приёмы отладки выполняются посредством обычных элементов управления Visual Studio.

На следующем изображении запечатлён процесс отладки Ghost. Обратите внимание на окна Call Stack, Locals и Watch. Во время отладки вы можете просматривать необходимые переменные и выполнять шаги как в обычном веб приложения.

Отладка Ghost в VS с Node Tools for Visual Studio

NPM для Visual Studio

Для удобства работы с npm в NTVS использовано множество средств, включающих в том числе и слежение за файловой системой проекта. Таким образом, вы можете запустить npm как из командной строки, так и из окна Immediate и Visual Studio отследит изменения.

Кроме того, вы можете воспользоваться диалогом NPM Package Management и выполнять поиск по репозиторию и установку пакетов.

Управление пакетами в npm package management в VS

И непосредственно процесс установки пакета…

Установка модуля

Физическое представление папки node_modules и самих модулей в Solution Explorer выглядит как иерархия узлов.

Модули в Solution Explorer

Примечание: мне нравится этот подход. У него есть потенциал и он очень схож с отображением ссылок в .NET проектах, что упрощает понимание проекта в целом.

Также здесь есть и другие интересные компоненты. Например, интерактивное окно REPL, традиционный для веб приложений мастер публикации, знакомый разработчикам ASP.NET. Вы можете публиковать приложения node.js непосредственно в Azure как при помощи Git, так и посредством мастера публикации Visual Studio.

Кроме того, вы можете выполнять удалённую отладку экземпляров node, запущенных на других машинах, запущенных с параметрами удалённой отладки приложений.

Удалённая отладка приложение node.js

node.exe RemoteDebug.js -machineport 5860 script.js

В очередной раз стоит отметить, что удалённая отладка приложений в Visual Studio доступна для node.js, запущенного на любой серверной ОС.

Заключение

Я испытываю восторг от того, как развивается Visual Studio (за довольно короткое время) и превращается в удобное средство для разработки проектов на множестве языков.

Node.js Tools для Visual Studio — проект с открытым исходным кодом, распространяющийся по лицензии Apache. Команда NTVS с нетерпением ждёт вклада сообщества в виде замечаний, предложений и отчётов об ошибках. Пока доступна альфа версия, но со временем NTVS станет ещё лучше. Установите и проверьте его. Большое спасибо всем участникам!

Автор: dtretyakov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js