Over the last few years, Node.js has become a popular JavaScript-based server-side development language.  We've had great support for Node.js in Azure via Azure Web Sites and Azure Mobile Services for some time.  And in Visual Studio, we've been developing the Node.js Tools for Visual Studio.

Today I'm excited to announce the availability of Node.js Tools for Visual Studio 1.0 Beta

The Node.js Tools for Visual Studio offer one of the best Node.js development environments available today, from great JavaScript editor integration, to NPM package management, to fully integrated debugging and diagnostics, to simple deployment – Visual Studio is a great environment for developing your Node.js applications. 

1.0 Beta

Today's release includes many new capabilities that bring Node.js tooling in Visual Studio to more developers and offer an even more productive developer experience, including expanding support to Visual Studio Express for Web, debugging enhancements, remote debugging in Azure, edit and continue, Azure Worker role support and TypeScript.

Express for Web

With the 1.0 Beta, NTVS is now available for the free Visual Studio 2013 Express for Web.  Along with the Azure Node.js SDK, you now have everything you need to build high performance Node.js websites and networked apps using Visual Studio and Azure.

Debugging

One of the most important features of NTVS has been bringing the power and convenience of Visual Studio’s Debugger to Node.js and the underlying V8 JavaScript engine.  The debugging support in NTVS supports all the core debugging features developers expect in Visual Studio: breakpoints, call-stacks, locals, watches, conditional breakpoints, filters, when-hit actions, and more.

Remote debugging on Azure, including Linux

The debugging support in NTVS is available both when you F5 to run your Node project from Visual Studio, and when you remote debug a Node.js app running on Windows Azure – including even debugging an app running on Linux

Combining the rich Visual Studio debugging experience with the flexibility of Node.js deployed on any platform is a great experience for Node.js development.  To attach to a Node.js app running in Azure, simply open Server Explorer, right click on your site and click Attach Debugger. 

Edit & Continue

On top of the core debugging features, NTVS 1.0 Beta now also supports Edit and Continue, enabling you to make changes to your server-side code while it is running.  This means you can frequently update your application without needing to restart the server.

Full TypeScript support

Visual Studio has great support for TypeScript, and many developers are using TypeScript in Node.js projects – so adding TypeScript support in NTVS provides a way to enjoy the best of TypeScript, Node.js and VisualStudio together.  While Node.js enables you to scale your application’s runtime, TypeScript enables you to scale your application’s development.  With the 1.0 Beta, NTVS has full debugging, intellisense and profiling support for TypeScript:

 

Worker Role support

Another new feature in this release is support for Azure Worker Roles.  Developer can now use integrated tools to deploy to either Azure Web Sites or Azure Worker Roles.  By using worker roles, you can build managed backend services loosely coupled to your front end web endpoints. 

Open Source

The Node.js Tools for Visual Studio are open source (Apache 2.0), hosted on CodePlex and have been developed with the help of the community from the start.  

For example, the Edit & Continue feature was contributed by Dmitry Tretyakov and the NPM UI by Bart Read.  If you are interested in helping out with the Node.js tools, browse the issues or feature backlogs or send us a pull request for something new.

The open source Node.js tools are also a great real-world example of rich language integration.  If you are interested in adding Visual Studio support for another new language or runtime, the open source Node.js tools are a great reference.

Conclusion

With Node.js Tools for Visual Studio, developers one of the best Node.js developer experiences available today in any IDE.  And with great support for Node.js in Azure, developers can easily author, debug, deploy, and manage Node.js applications across the entire development lifecycle.

Namaste!