Microsoft has launched a new Node.js plug-in for Visual Studio, the open-source Node.js Tools for Visual Studio (NTVS).
NTVS is a free, open source plug-in that turns Visual Studio into a Node.js integrated development environment (IDE). The alpha release of NTVS resides on CodePlex, Microsoft’s open source project-hosting web site.
NTVS supports editing, Intellisense, profiling, and debugging locally and remotely for Windows, MacOS and Linux. NTVS also supports npm, the Node Packaged Modules package manager for Node.js. And the new plug-in also supports Azure Web Sites and Cloud Services.
Node.js is a platform built on Google’s Chrome JavaScript runtime for the easy building of fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
In a blog post on NTVS, Scott Hanselman, principal program manager lead in the Microsoft Developer Division, notes that the Apache-licensed plug-in was open-source from the start. He said some Node.js enthusiasts had forked the Python Tools for Visual Studio (PTVS) and began making Node tools for Visual Studio. However, at the same time the PTVS team was also working on node.js integration, so they all joined forces and made NTVS a community project, Hanselman said.
“One of the things that’s impressed me about the way they integrated node.js into Visual Studio was that they didn’t try to recreate or re-do things that already worked well,” Hanselman said in his post. “It’s node, it runs node.exe, it uses the V8 debugger, it uses the V8 profiler because that’s what people use. Duh. But, for example, NTVS can take the output from the V8 profiler and display it using the Visual Studio Profiler Reporting Tools. No need to reinvent the wheel, just use the right tool for the job.”
The V8 JavaScript Engine is an open-source JavaScript engine developed by Google for the Google Chrome Web browser. V8 compiles JavaScript to native machine code before executing it, instead of more traditional techniques such as executing bytecode or interpreting it.
Regarding the debugging experience with NTVS, Hanselman said: “The debugging still happens like it always has, with the node V8 debugger, except Visual Studio connects to the debugger over another socket (remember, you can even debug node.js remotely running on a Linux or Mac like this!) and translates how V8 thinks into how Visual Studio thinks about debugging. The experience is seamless.”
Ever the Microsoft developer tools booster, Hanselman added, “I’m personally pretty happy with the way that Visual Studio is turning (in a short amount of time, seems to me) into quite the competent language and environment factory.”