Работа над проектом началась еще в прошлом году, просто было некоторое затишье, пока мы делали PTVS 2.0 :)
Вообще, идея, конечно, витала в воздухе — то, что её взялись реализовывать практически одновременно несколько человек, говорит само за себя. Мы надеемся, что совместная работа над одним общим проектом в этом смысле окажется более продуктивной.
Там в предыдущем предложении было про Visual Node. Если вкратце — это их собственный проект, но на ту же тему, и похожий внутри (тоже форк PTVS). Поэтому мы связались с ними и предложили работать совместно над одним продуктом под эгидой NTVS.
В частности, в альфе NTVS, вся работа с npm — это Red Gate.
Я надеюсь, у них Node.js не на собственном движке с поддержкой JScript версий 9, 5.8, 5.7, 5.6, 5.5, 5.1, 5.0 и ещё режима Quirks совместимости с VBScript.
Нет, не на собственном — все работает со стандартной V8-нодой с nodejs.org. Собственно, нода не идет в коробке с расширением, её нужно ставить отдельно.
Если присмотреться, на скриншоте фигурирует node.exe.
Гм. PTVS уже два года, и в нем стандартный Питон как был основным поддерживаемым интерпретатором, так и остается. При том, что есть и поддержка IronPython, и прочих сторонних реализаций.
Если команда, занимающаяся джаваскриптом в MS (а это другая команда!), завтра вдруг выпустит консольную версию с поддержкой ноды, то мы ее, разумеется, поддержим — в дополнение к основному интерпретатору, аналогично IronPython в PTVS. То же самое для любых других сторонних реализаций, если они в разумной мере совместимы с обычной нодой (т.е., в частности, используют её протокол отладки).
Я понимаю ваш скепсис, но задача нашего продукта — это не приватизировать ноду, а привлечь существующих разработчиков под неё на VS и Azure. Поэтому поддерживать мы будем в первую очередь всегда те реализации, библиотеки etc, которые широко использует community.
cscript.exe, даже с новым движком, это далеко не нода — ведь все нативные модули, включая многие стандартные нодовские, написаны с использованием V8 API.
На превью лицензии можно обновлять хотя бы, каждые 30 или 90 дней, не уверен, что trial такое позволяет.
Другой вопрос: как дела обстоят с обновлениями? Нужно заново устанавливать с каждой новой версией? Не проще было бы через nuget сделать?
Если мне не изменяет память, в превьюшках обычно хардкодится дата, когда оно просто перестает работать. Подгадывается так, чтобы это было через некоторое время после RTM.
Как будет с обновлениями в финальном релизе, мы пока еще детально не планировали. Но, скорее всего, как и с PTVS, мы добавим NTVS в WebPI, в дополнение к обычным установщикам. NuGet — это все же больше для библиотек и фреймворков.
А, то бишь Visual Studio Gallery. Там есть некоторая проблема — чтобы работать с их автообновлением, расширение должно быть в формате VSIX, а у него есть ряд ограничений, в которые мы, увы, не влезаем.
Интересный вопрос. Теоретически, отладка идет через сокет по обычному V8 debugging protocol, поэтому если можно настроить хром так, чтобы он вывесил отладочный порт наружу, то к нему можно будет попробовать приаттачиться (Debug -> Attach to Process, и выбрать транспорт Node.js remote debugging). Но мы не пробовали.
Source maps пока нет, но обязательно будет, т.к. он нужен для полноценной поддержки TypeScript.
НЛО прилетело и опубликовало эту надпись здесьНЛО прилетело и опубликовало эту надпись здесь
Вопросы по коду, и вообще по проекту, можно задавать на форуме CodePlex. Или можете стукнуться мне на почту — pminaev@microsoft.com — а я переадресую команде.
Встречайте: Node.js Tools for Visual Studio