![screenshot of project templates](png/project-templates-1.png)
Project templates
Get up and running quickly
IntelliSense
Understand your code
Experience useful and syntactically-correct completions with the powerful IntelliSense engine that statically analyzes your Node.js code and any packages you are using.
![screenshot of IntelliSense](png/intelisense.png)
![screenshot of npm integration](png/npm-integration.png)
npm integration
npm everywhere, just like it should be
Whether you prefer to interact with npm through a rich user interface, a command-line, or both… we’ve got you covered. Quickly search and install packages from a rich user interface, explore packages and their dependencies in the npm tree view, and see warnings when one of your dependencies is missing.
Interactive Window
Iterate faster
Enter Node.js code and see the results immediately in the Node.js Interactive Window (also known as a REPL window). You can use the same built-in modules, syntax, and variables you’d use in a Node.js script. And of course, you’ll get full syntax highlighting and IntelliSense on your code, just like you do in the editor.
![screenshot of Interactive Window](png/window.png)
Advanced debugging
Local and remote to any OS
Enjoy stepping through your code with breakpoints and automatic exception notifications in Visual Studio’s interactive debugger. Advanced features include conditional breakpoints, tracepoints, hit counts, edit-and-continue, and cross-OS (Linux/macOS/Windows) remote debugging.
![screenshot of Visual Studio’s interactive debugger](png/debugging.png)
Profiling
Track down performance issues
Profiling reports provide views on the different levels of your application structure from source code lines to processes, and program execution data from the calling and called functions of a specific function to the call tree of the entire application.
![screenshot of profiling reports](png/profiling.png)
![screenshot of Node.js Tools for Visual Studio](png/unittesting.png)
Unit testing
Bring your own test framework
TypeScript integration
Build robust applications
TypeScript is a superset of JavaScript that compiles to clean JavaScript output. It adds optional types, classes, and modules, which enable you to write more maintainable code and take advantage of more powerful tooling. Node.js Tools for Visual Studio provides full end-to-end support (from IntelliSense to unit testing) for working with TypeScript in your Node.js apps.
![screenshot of TypeScript integration](png/typescript.png)
![screenshot of Team Explorer](png/sourcecontrol.png)
Source control
Command-line not required
Manage your Git/TFS projects, pending changes, and branches with ease using the Team Explorer. Alternatively check out one of the many source control extensions available for Visual Studio.
Cloud integration
Create and deploy in <5 minutes
Create, test, and deploy web applications written with Node.js, and debug them from your desk while they run on your Linux or Windows-based server. Additionally, take advantage of tight Visual Studio integration with cross-platform Azure services for Node.js– even if you are not deploying to Azure (e.g. monitor performance and usage of your live application with Application Insights.)
![screenshot of integration with cross-platform Azure services for Node.js](png/cloudintegration.png)
![screenshot of JavaScript and Node.js extensions](png/customize.png)
Customize your tools
Extensions for grunt, gulp, and more!
Complement your experience with the many JavaScript and Node.js extensions available in the Visual Studio Gallery. Popular extensions include:
- Package IntelliSense
- Web Essentials (includes jslint and jshint support)
- Task Runner Explorer (for grunt and gulp)
- EditorConfig
Free and open source
Join the GitHub community
Node.js Tools for Visual Studio is a free and open source Visual Studio extension supported by Microsoft and the community. We are constantly working to improve the Node.js experience in Visual Studio, and look forward to hearing any feedback or ideas you have (especially those that come in the form of pull requests).
![screenshot of Node.js Tools for Visual Studio](png/opensource.png)