
What's New in Visual Studio 2015 for JS Developers

On July 20, the final version of Visual Studio 2015 RTM was released , which included, among other things, many new things for JavaScript web developers: improvements in the editor, support for popular libraries and package management systems and code building, ES6 features, as well as an update Apache Cordova and Node.js. support
JavaScript editor enhancements

First of all, we screwed on the editor to work with new features of EcmaScript 6 (2015), including:
- Classes
- Arrow functions (also known as lambdas)
- String patterns
- Rest / spread statements (ellipses)
- Object Creation Improvements
- Proxies
- Characters
- New APIs from ES2015, including: Map, Set, Weakmap, Weakset, Promises and a number of other additions to the API .
Also, to simplify code navigation, we added a “navigation bar”, familiar to many VS users with different language preferences:

Now you can easily navigate both methods and properties in the prototype model familiar to ES5, and in the new model with classes.
Many developers use JSDoc to create documentation . In VS 2015, the code hint function (IntelliSense) now takes into account JSDoc comments .

By the way, for TypeScript, as a superset of JS, you can also add descriptive parameter information in addition to typing using JSDoc.
If you prefer to use XML-style comments , they are still supported.
A few more pleasant things:
- Code folding. We've added support for folding and unrolling code in the editor for multi-line comments, arrays, and all multi-line blocks of code.
- Lists of tasks. You can use comments in the style of // TODO, // HACK, // UNDONE and track them in a special panel with a list of tasks.
This will help you deal with your code debts and potential problems. You can also add your own tags. - JSON editor. Support for the JSON format in VS 2015 has now become full-fledged: we support JSON conformance checking, including a link to SchemaStore.org, and added code hints. Also, for working with bower and npm package managers, we included hints for bower.json and package.json.
Support for AngularJS and ReactJS
In VS 2015, we continue to develop support for popular third-party libraries. For AngularJS, we added support for controllers, services, factories, and animations. At the same time, we included support for directives and attributes, including inside the HTML editor - with the Angular icon, so that you understand that you are using the functionality from the corresponding library:

We also worked a bit with the guys from Facebook to make sure that we implement good support for their framework ReactJS. We've added ReactJS support in the editor, including syntax highlighting and React method tips.

TypeScript
VS 2015 includes a new version of TypeScript - TS1.5, which adds enhanced support for ECMAScript 6 (ES2015). In the new version of the language, you will find updates in working with modules (ES2015 syntax), destructuring, computed properties, string templates, experimental support for decorators from ES7, UMD, and more.
To make it easier for you to manage projects, we also added a special tsconfig.json configuration file in which you can mark ts files in your project and compiler settings for them. It is already supported in VS Code, Sublime and Atom.
See also a brief overview of TS 1.5 on Habré .
Support for build and task launch systems for JavaScript
Following modern approaches to managing code, its assembly, and other techniques, we added in Visual Studio a new feature for managing code assembly through Grunt and Gulp - Task Runner Explorer (opens via the Ctrl-Alt-Backspace combination).

To launch any of the tasks defined in your gruntgile.js or gulpfile.js, you can simply right-click on the task name in the left pane and select launch from the context menu.
You can also attach tasks to the build process within Visual Studio, for example, events such as “After Build”.
HTML editor
In addition to supporting popular libraries such as Angular and React, we also updated support for the responsive bootstrap framework (we supplied it with ASP.NET templates) - now you can expect class hints with icons indicating where you use CSS classes from bootstrap:

We also continue to improve the work with HTML5 and subsequent standards, in particular, we began to add support for the developing standard web component - you can use the import attribute in the markup for link to import the markup fragments.

Apache Cordova Support
As you probably know, Visual Studio supports the development of applications not only for Windows, but also for Android and iOS. To create cross-platform applications, you can use either C ++ or Xamarin (C #) or Apache Cordova if you write in JavaScript.
When installing VS, choosing tools for cross-platform development, you can immediately get the necessary dependencies, including ADK, JDK, NDK and the emulator for Android.

As for Apache Cordova, the main innovations were already available in the RC version, including:
- Ripple update on save
- Debug iOS version of an application from VS when deployed to a simulator or connected via Mac
- Debugging applications for Windows Phone 8.1
- Improved plugin management, including adding from Git or the file system
- Improvements in the configuration file designer for choosing platform-specific settings.
We also added CLI interoperability. Cordova projects in VS are now synchronized with changes made to the file system. Thus, you can safely use other tools in parallel or work from under another operating system.
The emulator for Android has also been updated, now it includes images of Jellybean (API 17) and Lollipop 5.1 (API 22). By the way, the emulator can now be installed without installing VS, and working with it from the command line.
Node.JS Tools for Visual Studio
In the preliminary version of Node.JS Tools 1.1 RC for Visual Studio, we improved performance, added a less resource-intensive “quick” mode for code hints (in fact, in this mode the tree depth is limited so as not to dig the whole “world of packages” on the fly).
We also added a browser mode for working with the DOM - especially for those who have to work with both server and client code. Directly from the project tree, you can designate the folder as content (browser code):

When you open the files, the corresponding code editor will open.
At the same time, we fixed many problems with code debugging, improved the overall experience of connecting a debugger and working with displaying (mapping) of the source code. For mocha tests, we updated the original timeout to 2 seconds, so now the tests should run faster. For finer tuning of tests, you can use the mocha.json file, in which you can specify the parameters for starting the corresponding tests.

To help you better understand the code, we also added a documentation open command to study the documentation for npm packages.

Finally, to make it even easier for you to deploy your solutions, we have added support for the docker template.
Uservoice
We continue to welcome your new ideas and wishes. You can leave them here: VS UserVoice by JavaScript .
Let me remind you that the edition of Visual Studio 2015 Community is available for free!