Пользователь
0,0
рейтинг
21 ноября 2013 в 21:29

Разработка → Встречайте: Node.js Tools for Visual Studio

Вы думали, что после Python Tools for Visual Studio, Microsoft нечем больше вас удивить на ниве open source? Что ж, попробуем исправить положение: команда PTVS рада представить вам первую альфа-версию своего нового проекта: Node.js Tools for Visual Studio (далее по тексту – NTVS).

Node.js Tools for Visual Studio


NTVS – проект с открытым исходным кодом (Apache License 2.0). Так получилось, что задолго до этого анонса, но уже после начала работы над проектом, несколько других разработчиков начали работать над чем-то похожим: сначала была известная статья на Хабре, потом – одноименный проект Дмитрия Третьякова (dtretyakov) на GitHub и в галерее расширений VS, и, наконец – Visual Node от Red Gate. Мы связались со всеми авторами и предложили работать над проектом сообща – таким образом, в альфе NTVS есть значительные вклады от Red Gate и от Дмитрия. Совместная работа планируется и в дальнейшем, и если вам есть, что предложить проекту – присоединяйтесь!

NTVS поддерживает редактирование кода, включая Intellisense (и, да – он понимает require!), профилирование, работу с npm, и отладку, причем в том числе – удаленную отладку кода, выполняющегося на Linux или OS X. Кроме того, веб-приложения на Node.js могут быть опубликованы на веб-сайты и облачные сервисы Azure.

NTVS может быть установлен на VS 2012 и 2013 в редакциях Professional, Premium и Ultimate. Express, увы, пока не поддерживается, поскольку не позволяет установку расширений.

Как обычно, мы приготовили видеообзор возможностей NTVS. Кроме того, Скотт Хансельман опубликовал краткий обзор и пошаговое руководство по созданию проекта на Node.js с использованием NTVS в своем блоге (теперь со статьей-переводом на Хабре!).
Pavel Minaev @int19h
карма
59,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (27)

  • +2
    В мае на DevCon как раз общался с представителем MS и сказал ему: «Почему бы не сделать поддержку node.js в студии? Это была бы бомба!» Передал, наверное, мои слова )
  • +4
    Работа над проектом началась еще в прошлом году, просто было некоторое затишье, пока мы делали PTVS 2.0 :)

    Вообще, идея, конечно, витала в воздухе — то, что её взялись реализовывать практически одновременно несколько человек, говорит само за себя. Мы надеемся, что совместная работа над одним общим проектом в этом смысле окажется более продуктивной.
  • 0
    >>>в альфе NTVS есть значительные вклады от Red Gate и от Дмитрия. Совместная работа планируется и в дальнейшем

    Red Gate вроде свою IDE пилит www.visualnode.info/? Или MS и Red Gate объединили усилия и это один и тот же продукт?
    • +2
      Там в предыдущем предложении было про Visual Node. Если вкратце — это их собственный проект, но на ту же тему, и похожий внутри (тоже форк PTVS). Поэтому мы связались с ними и предложили работать совместно над одним продуктом под эгидой NTVS.

      В частности, в альфе NTVS, вся работа с npm — это Red Gate.
  • –2
  • +1
    Я надеюсь, у них Node.js не на собственном движке с поддержкой JScript версий 9, 5.8, 5.7, 5.6, 5.5, 5.1, 5.0 и ещё режима Quirks совместимости с VBScript.
    • +3
      Нет, не на собственном — все работает со стандартной V8-нодой с nodejs.org. Собственно, нода не идет в коробке с расширением, её нужно ставить отдельно.

      Если присмотреться, на скриншоте фигурирует node.exe.
      • –7
        Ну, ещё не вечер.
        • +6
          Гм. PTVS уже два года, и в нем стандартный Питон как был основным поддерживаемым интерпретатором, так и остается. При том, что есть и поддержка IronPython, и прочих сторонних реализаций.

          Если команда, занимающаяся джаваскриптом в MS (а это другая команда!), завтра вдруг выпустит консольную версию с поддержкой ноды, то мы ее, разумеется, поддержим — в дополнение к основному интерпретатору, аналогично IronPython в PTVS. То же самое для любых других сторонних реализаций, если они в разумной мере совместимы с обычной нодой (т.е., в частности, используют её протокол отладки).

          Я понимаю ваш скепсис, но задача нашего продукта — это не приватизировать ноду, а привлечь существующих разработчиков под неё на VS и Azure. Поэтому поддерживать мы будем в первую очередь всегда те реализации, библиотеки etc, которые широко использует community.
    • 0
      отладчик «своей ноды» на JScript там был с бородатых времён, только закопан глубоко
      • 0
        cscript.exe, даже с новым движком, это далеко не нода — ведь все нативные модули, включая многие стандартные нодовские, написаны с использованием V8 API.
        • 0
          во времена cscript ноды, и её нативных модулей даже и в задумках не было.
          • 0
            Это понятно. Я имею в виду, что на сегодня это далеко не «своя нода», даже с хаками, описанными по ссылке.
  • +3
    Ну наконец-то. Поздравляю!
    Профилировщик — это прямо киллер-фича.
  • +1
    Ух, теперь-то заживём!
  • 0
    Отличная новость, только жаль, что не ставится на VS2013 express и preview.
    • 0
      На Preview нет смысла ставить — она ограничена по времени. Проще сразу поставить 90-дневный trial VS 2013.
      • 0
        На превью лицензии можно обновлять хотя бы, каждые 30 или 90 дней, не уверен, что trial такое позволяет.
        Другой вопрос: как дела обстоят с обновлениями? Нужно заново устанавливать с каждой новой версией? Не проще было бы через nuget сделать?
        • 0
          Если мне не изменяет память, в превьюшках обычно хардкодится дата, когда оно просто перестает работать. Подгадывается так, чтобы это было через некоторое время после RTM.

          Как будет с обновлениями в финальном релизе, мы пока еще детально не планировали. Но, скорее всего, как и с PTVS, мы добавим NTVS в WebPI, в дополнение к обычным установщикам. NuGet — это все же больше для библиотек и фреймворков.
          • 0
            Ок, спасибо за ответ. Извиняюсь, я секцию extensions and updates в nuget записал.
            Ну 2013 Preview до сих пор отлично работает и выдаёт новые лицензии.
            • 0
              А, то бишь Visual Studio Gallery. Там есть некоторая проблема — чтобы работать с их автообновлением, расширение должно быть в формате VSIX, а у него есть ряд ограничений, в которые мы, увы, не влезаем.
    • +1
      Что касается Express или эквивалента (для Питона мы запилили свой как-бы-Express на VS Integrated Shell) — проголосуйте вот здесь.
  • 0
    А расширение чисто случайно не поддерживает отладку JS в Chrome?
    Тот же вопрос по поводу Source Maps.
    • +1
      Интересный вопрос. Теоретически, отладка идет через сокет по обычному V8 debugging protocol, поэтому если можно настроить хром так, чтобы он вывесил отладочный порт наружу, то к нему можно будет попробовать приаттачиться (Debug -> Attach to Process, и выбрать транспорт Node.js remote debugging). Но мы не пробовали.

      Source maps пока нет, но обязательно будет, т.к. он нужен для полноценной поддержки TypeScript.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.