NTVS:把Visual Studio变成Node.js IDE 的工具

image_7549c9be-f3c6-4d80-bbf4-ef8e0a201a0a
就在你认为Redmond不可能更疯狂的时候,今天他们介绍了一个 VS 插件工具,Visual Studio的node.js工具。node

NTVS(Node.js Tools for Visual Studio) 运行于VS2012或者VS2013。一些node.js的爱好者已经从PTVS(Python Tools for Visual Studio)转向并开始为VS作些node工具。同时,PTVS团队也在node.js整合上下功夫,因而他们都专一于NTVS使之成为一个社区项目。NTVS是由给你带来PTVS的相同团队开发的,而且获得了来自Red Gate的Bart Read(他开发了Node Packaged Modules图形用户界面),来自Clickberry的Dmitry Tretyakov的帮助,他们作了一些调试与功能修复。web

NTVS从开始就是开源的,而且从一开始就采纳贡献。它支持编辑,智能感知,分析,npm(节点模块封装),本地与远程调试(当服务器运行于Windows/MacOS/Linux),以及发布到Azure网站和云服务。npm

他们如何作到这些是至关惊人的,因此我建议你下载而且试用它,由于其中的一些内容(即便这里给出的只是最第一版)是很是很是聪明的。segmentfault

image_c45fe255-b64f-4d8e-af8b-052b48439c89

NTVS结合了V8分析应用和Visual Studio的报告特性以告诉你你的程序哪里消耗它的时间。浏览器

提示:看到上面File|New Project的对话框了吗?Visual Studio按照开发语言组织类型,因此node.js在JavaScript分类下。但你也注意到在Visual Studio中的Python,Django,C#分类下的iOS和Android,TypeScript,VB,F#等分类。服务器

让我印象深入的事之一是,他们将node.js整合进Visual Studio中时并无新建或者重作已经在Visual Studio中完善的功能。这就是node,运行在node.exe,使用V8调试器,使用V8分析器由于这些就是人们在使用的。可是,例如,NTVS能够从V8分析器获得输出而且使用Visual Stuido分析报告工具显示结果。不必推倒重来,只要使用合适的工具来完成工做。网络

使用NTVS完成Ghost博客引擎

让咱们来看个例子。编辑器

从Visual Studio开始,顺序是File |New Project,点击JavaScript,而后选择“From Existing Node.js code”。

image_5322e4b0-7cfb-4660-a459-723a960100d6

将NTVS指向你的Ghost目录。

image_774ec272-bc5f-4d97-af49-fccea245c0ed

而后设置node.js开始文件为index.js,点击Next,保存项目文件而且完成。

image_fd0d1d7b-488f-4dfb-9073-9f0133300b54

这时,你已经在VS中设置了Ghost。

随记:自从我获得网页要素后我也获得一个不错的好处—屏幕Markdown编辑器。

从这里,点击F5就能够调试,或者Ctrl-F5直接开始。固然注意在右下角的工程属性窗口中显示的node路径,端口还有开始文件。你固然能够修改它们。

image_4670f6ce-d94f-475a-aa16-9bce065712d4

这里我在本地运行Ghost。你能够看到node的路径,ghost.js文件和个人浏览器。

image_4dc805cd-cbeb-4b73-b833-448c42cd13af

你将从方法签名中获取实现与帮助的提示。

image_84596d79-5ca2-4442-a6fb-7a7c3a94139b

调试

NTVS包含了对node应用程序完整的调试支持。这包含了逐步调试,断点调试,“异常中断”,还有本地变量窗口,观察窗口,即时窗口和调用栈工具窗口。

你能够像其余语言的服务同样处理异常。看下面的对话框,node.js异常和其余异常列在处理与未处理代码的分类中。

image_9ef30b1a-20c5-48f1-8f3d-c2922eb2f2ba

经过node V8调试器,调试始终如它一般的方式运行。除非Visual Studio经过另外的套接字链接调试器(记住,你甚至能够在Linux或者Mac系统中像这样远程运行调试node.js)而且将V8如何作调试转义为Visual Studio如何作调试。这种感觉是无缝衔接的。

经过这个截图,你能够看到node.exe已经被调试了,我运行了Ghost。你能够看到个人调用栈和本地变量在观察窗口。我能够查看变量,分步调试而且在你调试一个网络应用程序的时候作任何你想作的事。

image_fe04bca3-0bd0-473f-9f04-2eb7a162dd6b21

NPMVISUAL STUDIO

使用npm的体验也是至关酷。NTVS始终监视文件系统,因此以命令行或者节点直接窗口方式运行npm的话是更受欢迎的方式,Visual Studio中将看到变化。

你也可使用npm包管理对话框而且搜寻库,图形化安装包。这取决于你。

image_ce485570-fd51-4a3b-a976-16e9b736f5b3

这是一个包在安装中…

image_5869ebb4-3a88-4c5a-a3d6-41d22ed0dcb4

物理上的节点模块和这些模块的操做是纯代码化的…VS并不涉及或者说关心它。可是,Visual Studio的解决方案资源管理器(Solution Explorer)中也以逻辑视图呈现物理视图。

image_b210757b-6f47-4135-a92a-b295fb85325c

提示:我很喜欢这点。我认为它有潜力,我更喜欢.NET的引用也如此处理。物理的和逻辑的依赖树显示了NuGet包。这帮助我更好地理解项目。

还有更多。有个REPL互动窗口,你能够如其余网络工程同样,与ASP.NET工程使用相同的发布向导来发布网络工程。你也能够直接发布node.js应用程序到Azure,使用Git或者Visual Studio发布。

你也能够在其它机器远程调试node实例,经过引入远程调试代理来启动node。

image_3b0a9fad-b403-47b7-b94d-0cf6471fa7426

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

正如说起的,你能够在运行于任何服务器操做系统的Visual Studio和node上远程调试。

总结

我我的对于Visual Studio正转变为(对我而言,在短时间内)十足的组件语言和开发环境工厂感到很是高兴。

NTVS在Apache许可下是彻底开源的而且他们欢迎贡献与错误报告。这是最第一版但它很棒。去使用它吧。祝福全部参与的人!


原文:Introducing node.js Tools for Visual Studio - Scott Hanselman
转载自:伯乐在线 - EluQ

相关文章
相关标签/搜索