VS Code v1.6 Now Available

VS Code v1.6 is now available, and this update comes with numerous significant updates. You no longer need to go to the website, in order to check the review about the latest release notes. You will now be able to see it right within VS Code itself. All you need to do is to use global "Show Release Notes" command or Help > Release Notes menu in order to access them.
Image Source: code.visualstudio.com
Icons Everywhere
More icon files have been added through UI. This goes on to include most trees which show files (for example, Problem panel, Search results, OPEN EDITORS section) along with the Quick Open results as well as the editor headings.
However, if you do not want to view icons everywhere, for instance in Tab headings, then for this, there is now an addition of a new settingworkbench.editor.showIcons.
Switch between running Windows
A new command has also been added which allows you to quickly move between open Windows of VS Code, all you need to do is simply open the Command Palette (Ctrl+Shift+P) and type Switch Window. A dropdown will appear, showing you all the opened VS Code Windows (instances) and you will be able to quickly move from one to the other without leaving the keyboard, right from within the VS Code.
Image dimensions & Binary file size
When you go on to open the binary file in VS Code, extra meta information is now displayed in the Status Bar. You will now be able to see the size of the file and images, along with the image dimensions, for all binary files.
VS Code will also be able to detect image file changes on disk, so you will not be able to see the old version of an image.
Information on Editor
Format On Save: VS Code now comes with supports for “Format On Save” which will automatically pick up relevant installed formatter extensions and format the whole document on each save. You can now easily enable “Format On Save” by setting “editor.formatOnSave”: true
Search term history: You will now be able to navigate your earlier search terms in the global Search View as well as in the editor Find Widget.
  • Alt+Up navigates backward in the history. Corresponding commands are search.history.showPrevious and find.history.showPrevious.
  •  Alt+Down navigates forward in the history. Corresponding commands are search.history.showNext and find.history.showNext.
Hover & IntelliSense UI consistency
The Hover widget UI was updated aligning it more with VS Code's IntelliSense experience:
Auto Save Menu Item
The company states, “Auto Save is a great feature for many scenarios.” Hence, in order to make this particular feature more discoverable, VS Code now comes with an Auto Save toggle right in the File menu. This will toggle the files.autoSave setting available in your global settings.json configuration file.
File Associations configuration
The Language Mode of a file has been changed, you can now easily pick Configure File Association for … and you choice will be stored to your User settings file and remembered.
Unicode improvements
VS Code now comes with better handling of the UTF-16 surrogate pairs and validates all edits, such that it does not go on to break up surrogate pairs. This is really important if you want to add things like Emojis in your source code.
Improvements to LineNumber and Whitespace settings
Several editor settings have also been updated in order to support new options:
  • editor.renderWhitespace Possible values are now "all", "boundary" and "none". The"boundary" option does not render single spaces between words.
  • editor.lineNumbers Possible values are "on", "off" and "relative". "relative" shows the line count from the current cursor position.
TypeScript 2: VS Code 1.6 now comes with TypeScript 2.0.3. However, if you want to go back to TypeScript 1.8.10 in our workspace, you need to follow the steps given below, as per the official blog:
Navigate into your workspace folder.
Run npm install typescript@1.8.10 to install TypeScript version 1.8.10.
Start VS Code. You will get prompted whether you want to use the workspace version (1.8.10) or the bundled version (2.0.3) of TypeScript. Select workspace version and confirm the setting change.
TypeScript 2.0.3 contains lots of new features, such as strict null checking or modular library dependencies to name a few. A complete list of the new features can be found here.
Besides new features, TypeScript 2.0.3 contains several bug fixes. The company states that “this might result in additional compile time errors when you first compile your project with TypeScript 2.0.3.”
The JavaScript in VS Code is powered by TypeScript and the TypeScript version bundled with VS Code has been updated to version 2.0.3.
This goes on to bring a number of improvements for JavaScript support. They are:
  • The JS Doc support has been improved and many issues have been fixed.
  • The parser now allows any syntax that the TypeScript parser is capable of recognizing and is part of a JavaScript standards proposal. For example, static class properties are no longer flagged as invalid.
Additionally, there are improvements to TypeScript which are also applicable to JavaScript:
  • There is now globbing support in the jsconfig.json file.
  • Better support for including built-in types from new ECMAScript versions using -–lib.
  • Better handling for module imports with file extensions.
One of the biggest improvements is that the acquisition of Type Declaration files (typings) has been simplified. You can now use NPM directly to get typings with the @types parameter.
PREVIEW TypeScript JavaScript Grammar
The TypeScript/JavaScript TextMate grammar has also been reworked. This work is currently available as an extension in the marketplace. The plan is to switch this version in October.
Updated HTML/Razor/Handlebar Support
Since the VS Code has been made available, some languages were implemented inside VS Code directly and they had not been implemented as an extension. However, they have gone on to reduce this debt by extracting the JSON, CSS, LESS, SASS languages into their own extension. The company has now done this for HTML, and it has gone on to coupled languages, Razor and Handlebar. These languages are now implemented using the language server protocol.
Workspace Extension Recommendations: The VS Code now support creating a recommended list of extensions for a workspace. The set of recommendations has been defined in a file extensions.json, which is located in .vscode folder. This way, you can now easily share recommendations inside a team.
You can also create this particular file by using Extensions: Configure Workspace Recommended Extensions command.
PREVIEW Extension Packs
Support for publishing ‘Extension Packs’ has also been added. An Extension Pack is a set of extensions which can be easily installed together; this will easily enable sharing your favorite extensions with other users. Another user case is to create a set of extensions for a particular scenario such as PHP development so as to help PHP developer get started with VS Code quickly. This feature is now available as preview.
An Extension Pack is represented as an extension which depends on the other extensions. This dependency is expressed using the extensionDependencies attribute inside the package.json file. When installing an Extension Pack, VS Code will now also install its extension dependencies.
Extension identifier badge
In order to ease the disoverability of the identifier of an extension required for workspace Recommendations and extension packs, the company has added a badge to the Extension details view. An extension is uniquely identified using its publisher name and extension name separated by a period .
Extension update version check
You will now be able to see extension as outdated if there is a new version which is compatible with your VS Code installation now available.
However, this is applicable only if the extension is published using the latest version of vsce publishing tool.
Configurable External Terminal: Running debug target in an external terminal is now provided as a VS Code service to debugger extensions. You can now configure terminal program use via existing terminal.external.windowsExec, terminal.external.osxExec, and terminal.external.linuxExec settings.
Launch configuration supports 'npm' and other tools: A frequent feature request was to support running 'npm' scripts directly from a launch configuration. This is now possible, check the official blog for more details.
Glob pattern support for Source Map setup: While debugging transpiled code (example TypeScript) where your build process generates JavaScript code into directory, is now necessary to help the Node.js debugger finding the generated code.
Experimental Node Debugger: Experimental debug extension which uses V8 Inspector Protocol with Node.js is now available. This is the same protocol exposed by Chrome and other targets. This extension runs on the vscode – chrome-debug-core library which also powers Debugger for Chrome extension along with several others.
Extension Authoring, New APIs, Debug Extension Authoring are also part of this new update. For more information check the official blog. You can now easily download the VS Code.