{"id":3411,"date":"2015-03-25T10:55:00","date_gmt":"2015-03-25T10:55:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudio\/2015\/03\/25\/node-js-tools-1-0-for-visual-studio\/"},"modified":"2022-05-18T06:16:49","modified_gmt":"2022-05-18T13:16:49","slug":"node-js-tools-1-0-for-visual-studio","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/node-js-tools-1-0-for-visual-studio\/","title":{"rendered":"Node.js Tools 1.0 for Visual Studio"},"content":{"rendered":"<p><strong>[UPDATE]<\/strong> We have updated this post. Look for an [UPDATE] tag to find the updates.&nbsp;<\/p>\n<p><a href=\"https:\/\/www.visualstudio.com\/features\/node-js-vs\">Node.js Tools 1.0 for Visual Studio (NTVS)<\/a> is now available for <a href=\"https:\/\/www.visualstudio.com\/en-us\/features\/node-js-vs.aspx\">download<\/a>! NTVS is a free, open source extension for Visual Studio 2012 and Visual Studio 2013 that turns Visual Studio into a Node.js IDE. NTVS 1.0 supports the <a href=\"https:\/\/www.visualstudio.com\/products\/visual-studio-community-vs\">free Visual Studio Community<\/a> and Visual Studio <a href=\"http:\/\/www.visualstudio.com\/downloads\/download-visual-studio-vs\">Express for Web<\/a> editions, as well as Visual Studio Professional and higher.<\/p>\n<p><a href=\"https:\/\/nodejs.org\/\">Node.js<\/a> is a platform for building fast, scalable applications using JavaScript. It&rsquo;s making its way just about everywhere &ndash; from servers, to Internet of Things devices, to desktop applications, to who knows what next? And now, with <a href=\"https:\/\/nodejstools.codeplex.com\/documentation\">Node.js support in Visual Studio<\/a>, it&rsquo;s easier than ever before to develop Node.js applications.<\/p>\n<h2>Node.js, meet Visual Studio<\/h2>\n<p>We&rsquo;ve had NTVS under development for well over a year now. Some highlights of this release include:<\/p>\n<ul>\n<li>Rich editing experiences<\/li>\n<li>Code completions (IntelliSense)<\/li>\n<li>Interactive window (REPL)<\/li>\n<li>npm integration<\/li>\n<li>Advanced debugging and profiling<\/li>\n<li>Test explorer integration<\/li>\n<li>Full integration with some other Visual Studio features<\/li>\n<li>Node.js, <a href=\"https:\/\/nodejstools.codeplex.com\/wikipage?title=io.js\">io.js<\/a>, JavaScript, TypeScript, HTML, CSS, and JSON support.<\/li>\n<\/ul>\n<h2>Editing and IntelliSense<\/h2>\n<p>NTVS supports syntax highlighting, code-folding (i.e., brace-completion, automatic formatting, go-to-definition (F12), find in files, code completions, everything you would expect to be there is there.<\/p>\n<p><em>Code completions? For a dynamically typed language?<\/em> Yep, you heard us right. NTVS will statically analyze your project to provide you with syntactically-correct code completions for your Node.js code and packages.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/3755.clip_image0014_thumb_06EAB007.png\"><img decoding=\"async\" style=\"float: none;margin-left: auto;margin-right: auto;border-width: 0px\" title=\"Syntactically-correct code completions \" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/3755.clip_image0014_thumb_06EAB007.png\" alt=\"Syntactically-correct code completions \" width=\"550\" height=\"209\" border=\"0\" \/><\/a><\/p>\n<h2>Interactive Window (REPL)<\/h2>\n<p>For the uninitiated, REPLs are awesome. Write some code, and see the results inline. It really speeds up the process of experimenting with code, or exploring a new package. And of course, we&#8217;ve gone a step further and sprinkled the experience with some Visual Studio magic &#8211; you&#8217;ll get full syntax highlighting and completions, just like you do in theeditor.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/1220.clip_image0024_thumb_2DB8C647.png\"><img decoding=\"async\" style=\"float: none;margin-left: auto;margin-right: auto;border-width: 0px\" title=\"Interactive Window (REPL)\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/1220.clip_image0024_thumb_2DB8C647.png\" alt=\"Interactive Window (REPL)\" width=\"550\" height=\"210\" border=\"0\" \/><\/a><\/p>\n<h2>npm Integration<\/h2>\n<p>Explore and manage your npm dependencies in Solution Explorer, search for and install dependencies from the npm registry in the rich UI, and hop into the interactive window or command prompt for everything else. The end-to-end npm integration makes working with your dependencies easy &ndash; NTVS will even warn you when one of your dependencies is missing.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/4857.clip_image0034_thumb_69785EFA.png\"><img decoding=\"async\" style=\"float: none;margin-left: auto;margin-right: auto;border-width: 0px\" title=\"Manage your npm dependencies in Solution Explorer\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/4857.clip_image0034_thumb_69785EFA.png\" alt=\"Manage your npm dependencies in Solution Explorer\" width=\"550\" height=\"209\" border=\"0\" \/><\/a><\/p>\n<h2>Advanced debugging and profiling<\/h2>\n<p>We&rsquo;re always shocked to hear how many people are relying on print-line statements to debug their Node.js code. With NTVS, you can enjoy stepping through your code with breakpoints and automatic exception notifications. Advanced features include conditional breakpoints, tracepoints, hit counts, and edit-and-continue.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/6813.clip_image0044_thumb_29424580.png\"><img decoding=\"async\" style=\"float: none;margin-left: auto;margin-right: auto;border-width: 0px\" title=\"Advanced debugging and profiling\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/6813.clip_image0044_thumb_29424580.png\" alt=\"Advanced debugging and profiling\" width=\"550\" height=\"210\" border=\"0\" \/><\/a><\/p>\n<p><em>But a lot of my issues occur on my production server! What if I&rsquo;m not deploying to Windows? Or Azure?<\/em> <em><\/em><\/p>\n<p>Sad times for the Windows\/Azure teams&hellip; That&rsquo;s okay, though, because NTVS has you covered with remote debugging to any OS (Windows\/Linux\/MacOS).<\/p>\n<p><em>Oh no! My code! It&rsquo;s so slow! What ever shall I do?<\/em><\/p>\n<p>NTVS takes advantage of V8 profiling API&rsquo;s and Visual Studio&rsquo;s reporting features to give you a sense of where your program is spending its time so you can quickly track down performance issues.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/4278.clip_image0054_thumb_50105BC0.png\"><img decoding=\"async\" style=\"float: none;margin-left: auto;margin-right: auto;border-width: 0px\" title=\"Track down your code's performance issues\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/4278.clip_image0054_thumb_50105BC0.png\" alt=\"Track down your code's performance issues\" width=\"550\" height=\"210\" border=\"0\" \/><\/a><\/p>\n<h2>Unit Testing<\/h2>\n<p>Integration with Visual Studio&rsquo;s test explorer means that you can author, run, debug, and filter unit tests without having to switch to a command prompt. Use mocha, or simply extend Visual Studio to work with your favorite unit testing framework.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/6825.clip_image0064_thumb_76DE7200.png\"><img decoding=\"async\" style=\"float: none;margin-left: auto;margin-right: auto;border-width: 0px\" title=\"Integration with Visual Studio Test Explorer\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/6825.clip_image0064_thumb_76DE7200.png\" alt=\"Integration with Visual Studio Test Explorer\" width=\"550\" height=\"210\" border=\"0\" \/><\/a><\/p>\n<h2>And much more&hellip;<\/h2>\n<p>But wait, there&#8217;s more! Here&#8217;s a quick pass through the remaining features:<\/p>\n<ul>\n<li>Project templates to get you up and running in an instant.<\/li>\n<li><a href=\"http:\/\/www.typescriptlang.org\/\">TypeScript<\/a> lovers, rejoice &ndash; all the awesome features we&rsquo;ve described apply to TypeScript as well.<\/li>\n<li>Git\/TFS integration &ndash; no command-line required.<\/li>\n<li>Azure Integration &ndash; create and deploy a web application in &lt; 5 minutes.<\/li>\n<\/ul>\n<p>Also be sure to check out these popular Visual Studio <a href=\"https:\/\/visualstudiogallery.msdn.microsoft.com\/\">extensions<\/a> that complement NTVS:<\/p>\n<ul>\n<li><a href=\"https:\/\/visualstudiogallery.msdn.microsoft.com\/2d42d8dc-e085-45eb-a30b-3f7d50d55304\">TypeScript for Visual Studio<\/a><\/li>\n<li><a href=\"https:\/\/visualstudiogallery.msdn.microsoft.com\/65748cdb-4087-497e-a394-2e3449c8e61e\">Package IntelliSense<\/a><\/li>\n<li><a href=\"http:\/\/vswebessentials.com\/\">Web Essentials<\/a> (includes jslint and jshint)<\/li>\n<li><a href=\"https:\/\/visualstudiogallery.msdn.microsoft.com\/8e1b4368-4afb-467a-bc13-9650572db708\">Task Runner Explorer<\/a> (for grunt and gulp)<\/li>\n<\/ul>\n<h2>Get Started with Node.js Tools for Visual Studio<\/h2>\n<p>Download <a href=\"https:\/\/www.visualstudio.com\/features\/node-js-vs\">Node.js Tools for Visual Studio<\/a> to get started developing Node.js applications in <a href=\"https:\/\/www.visualstudio.com\/products\/visual-studio-community-vs\">Visual Studio<\/a>. And when you&#8217;re ready to deploy and monitor your application, you can take advantage of our full support for <a href=\"http:\/\/azure.microsoft.com\/en-us\/develop\/nodejs\/\">Node.js in Azure and Azure services<\/a>. Together, Visual Studio and Azure provide you with an amazing experience throughout the entire development lifecycle.<\/p>\n<h2>We&#8217;re Moving to GitHub!<\/h2>\n<p><strong>[UPDATE April 2015]: <\/strong>You asked, and we listened! <a href=\"https:\/\/github.com\/Microsoft\/nodejstools\">Node.js Tools for Visual Studio is moving to GitHub<\/a>. With the Node.js and JavaScript communities already on GitHub, the move just makes sense. We are thrilled to contribute to and be a part of the vibrant community on GitHub and we look forward to seeing you all there. We might experience some hitches along the way, so thank you for your patience as we take this next step!<\/p>\n<h2>Questions, compliments, complaints?<\/h2>\n<p>NTVS is a free and open-source project that&rsquo;s been developed with the help of the community from the start. File an <a href=\"https:\/\/github.com\/Microsoft\/nodejstools\">issue, request a feature<\/a>, post in our <a href=\"https:\/\/nodejstools.codeplex.com\/discussions\">forums<\/a>, or send us a <a href=\"https:\/\/twitter.com\/nt4vs\">carrier pigeon<\/a> &ndash; your pick. We&rsquo;d love to hear your feedback, especially if it comes in the form of a <a href=\"https:\/\/nodejstools.codeplex.com\/wikipage?title=Contributing\">pull request<\/a>. \ud83d\ude42<\/p>\n<p>Thank you, thank you, thank you to all the incredible people who have already contributed. We should all be proud of the product we&rsquo;ve built together.<\/p>\n<p>And this is only the beginning. Onwards!<\/p>\n<table style=\"width: 663px\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"155\"><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/8054.image_thumb_5E6FF335.png\"><img decoding=\"async\" style=\"border-width: 0px\" title=\"image\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2015\/03\/8054.image_thumb_5E6FF335.png\" alt=\"image\" width=\"145\" height=\"145\" border=\"0\" \/><\/a><\/td>\n<td valign=\"top\" width=\"506\"><strong>Sara Itani<\/strong><em> (<\/em><a href=\"https:\/\/twitter.com\/mousetraps\"><em>@mousetraps<\/em><\/a><em>)<\/em>, Software Engineer, Node.js Tools for Visual Studio<em> <\/em><\/p>\n<p>Sara is a developer on Node.js Tools for Visual Studio. At first, she was skeptical about Node.js &ndash; that is, until she realized its full potential&hellip; Now, she&rsquo;s all in, and excited to help it take over the world by bringing the power of Visual Studio to the Node.js community. She, for one, welcomes our new JavaScript overlords. \ud83d\ude42<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>[UPDATE] We have updated this post. Look for an [UPDATE] tag to find the updates.&nbsp; Node.js Tools 1.0 for Visual Studio (NTVS) is now available for download! NTVS is a free, open source extension for Visual Studio 2012 and Visual Studio 2013 that turns Visual Studio into a Node.js IDE. NTVS 1.0 supports the free [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1196,4980,561,155,1029],"tags":[136,9,137,376,124,185,125,12],"class_list":["post-3411","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desktop","category-java","category-open-source","category-visual-studio","category-web","tag-css","tag-debug","tag-html","tag-java","tag-javascript","tag-node-js","tag-typescript","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>[UPDATE] We have updated this post. Look for an [UPDATE] tag to find the updates.&nbsp; Node.js Tools 1.0 for Visual Studio (NTVS) is now available for download! NTVS is a free, open source extension for Visual Studio 2012 and Visual Studio 2013 that turns Visual Studio into a Node.js IDE. NTVS 1.0 supports the free [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/3411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=3411"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/3411\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=3411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=3411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=3411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}