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的帮助,他们做了一些调试与功能修复。

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

他们如何做到这些是相当惊人的,所以我建议你下载并且试用它,因为其中的一些内容(即使这里给出的只是最初版)是非常非常聪明的。

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博客引擎

让我们来看个例子。

l 从http://nodejs.org下载并安装node。

l 接下来,从https://ghost.org/download/下载Ghost并解压缩到某地。

l 从install node for Visual Studio下载并安装NTVS在Visual Studio根目录。

l 可选项。安装http://vswebessentials.com,因为它会使VS中的网络开发更易展示。

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

将NTVS指向你的Ghost目录。

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

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

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

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

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

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

调试

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

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

通过node V8调试器,调试始终如它通常的方式运行。除非Visual Studio通过另外的套接字连接调试器(记住,你甚至可以在Linux或者Mac系统中像这样远程运行调试node.js)并且将V8如何做调试转义为Visual Studio如何做调试。这种感受是无缝衔接的。

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

NPMVISUAL STUDIO

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

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

这是一个包在安装中…

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

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

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

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

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

正如提及的,你可以在运行于任何服务器操作系统的Visual Studio和node上远程调试。

总结

我个人对于Visual Studio正转变为(对我而言,在短期内)十足的组件语言和开发环境工厂感到非常高兴。

NTVS在Apache许可下是完全开源的并且他们欢迎贡献与错误报告。这是最初版但它很棒。去使用它吧。祝福所有参与的人!

NTVS:把Visual Studio变成Node.js IDE 的工具的更多相关文章

  1. [转载]Visual Studio支持Node.js

    http://news.cnblogs.com/n/193893/ https://nodejstools.codeplex.com/ 微软发布了一个官方插件“Node.js Tools for Vi ...

  2. 【Visual Studio Code 】使用Visual Studio Code + Node.js搭建TypeScript开发环境

    1.准备工作 Node.js Node.js - Official Site Visual Studio Code Visual Studio Code - Official Site 安装Node. ...

  3. 使用Visual Studio Code + Node.js搭建TypeScript开发环境

    Visual Studio Code搭建Typescript开发环境 —— 相关文章: http://www.cnblogs.com/sunjie9606/p/5945540.html [注意:这里仅 ...

  4. Traceback (most recent call last): File "c:\program files (x86)\microsoft visual studio\2019\community\common7\ide\extensions\microsoft\python\core\Packages\ptvsd\_vendored\pydevd\_pydevd_bundle\pyd

    某次编码,debug的时候突然突然突然给我报这个错: Traceback (most recent call last):   File "c:\program files (x86)\mi ...

  5. WebStorm配置Node.js IDE

    开始刚学的时候一直用命令行来运行Node.js,网上找了些配置Node.js IDE配置的贴子,说WebStorm配置IDE最简单,自己就试了下. 1.首先安装Node这步就不说了 2.下载WebSt ...

  6. 实用的 Node.js 教程,工具和资源

    这里分享一批实用的实用的 Node.js 教程,工具和资源. Node.js是一个建立在Chrome之上的JavaScript运行时平台,可方便地构建快速,可扩展的网络应用程序.Node.js使用事件 ...

  7. 使用Visual Studio 2017作为Linux C++开发工具

    Visual Studio 2017 微软的宇宙第一IDE Visual Studio 2017正式版出来了,地址是:https://www.visualstudio.com/vs/whatsnew/ ...

  8. 使用Visual Studio 2010写Data Url生成工具C#版本

    声明:本文系本人按照真实经历原创.未经许可,谢绝转载. 此文百度经验版本号:怎样用Visual Studio 2010打造Data Url生成工具 源代码下载:用Visual Studio 2010编 ...

  9. Node.js:常用工具util

    概要:本篇博客的主要内容是介绍node.js的常用工具util. 1.util.inherits util.inherits(constructor,superConstructor)是一个实现对象间 ...

随机推荐

  1. ACdream 1148(莫比乌斯反演+分块)

    传送门:GCD SUM 题意:给出N,M执行如下程序:long long  ans = 0,ansx = 0,ansy = 0;for(int i = 1; i <= N; i ++)   fo ...

  2. Linux中下载,压缩,解压等命令

    查看是否和还有一台Linux机器相通命令:ssh    主机名@Ip地址    ,提示输入password.就可以查看远程文件的文件夹 下载远程机器上的文件:scp  主机名@Ip地址:/path/s ...

  3. 阿里2016实习offer五面经验与总结(转)

    前言 目前楼主已经拿到阿里实习offer,一共经历了5次面试,其中4轮技术面,1轮HR面试.在这里分享一下自己的面试经验和学习总结.写这篇面经主要是希望能够帮助更多的小伙伴.我本科毕业于中南大学信管专 ...

  4. SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge (并不在同一个版本库中)

    在使用svn merge命令报错 英文版本:SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge 中文版本报错:并不 ...

  5. 关于Opencv2.4.x中stitcher类的简单应用

    1.opencv2.4以上版本有stitcher类,可以简单方便的实现图像的拼接,目前只是简单的测试一下stitcher类的拼接功能,也是纠结了好长时间,最终发现是要在链接库中加上opencv_sti ...

  6. OCP-1Z0-051-题目解析-第29题

    29. Which two statements are true regarding constraints? (Choose two.)  A. A foreign key cannot cont ...

  7. 不用Root权限获取已经安装的Apk安装包

    在安卓设备上安装的apk都会被保留一份在/data/app目录下,但是该目录对于普通用户来说只有可执行权限,是无法访问的. 但是其子文件具有可读权限. 意思也就说我们直接去查看/data/app这个目 ...

  8. Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】

    郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 构造方法 ...

  9. hdu1430魔板

    Problem Description 在魔方风靡全球之后不久,Rubik先生发明了它的简化版——魔板.魔板由8个同样大小的方块组成,每个方块颜色均不相同,可用数字1-8分别表示.任一时刻魔板的状态可 ...

  10. WPF对于xml的简单操作(下)绑定ListView

    上个月做好的,电脑给盗了,没及时存在网盘,也及时发到随笔,于是乎悲哉!搞了一个上午终于绑定好了,有时候就是这么眼瞎,Path和XPath全瞎了,摸滚了一个上午,赶紧的随笔跟上先. <ListVi ...