A Recharged Visual Studio Code 1.13 (and What's With 1.11 and 1.12?)
There have been some significant changes to Visual Studio Code from March to now; with the May 2017 Build, specific settings that were in preview -- editor drag and drop, minimaps, to name a few -- are now enabled by default.
- By Michael Domingo
As of the last time we covered Visual Studio Code news, lots has happened. Set in stone is the May 2017 Build, dubbed version 1.13, which sports a number of interesting setting changes and a variety of editor and workbench enhancements. But over the last two months, there have been two significant releases, with the more recent April 2017 release that's noteworthy because of the transparency with which the work is being done.
"For this iteration, we shifted from our usual focus on new features to improving our processes and code base," according to a blog update from the Visual Studio Code team on the April Build. "We reviewed and triaged all our open issues, fixed bugs, and reduced engineering debt."
The blog notes for the April build that by the numbers, 2,199 issues were closed as 1,925 issues were opened. As well, 62 percent of the 3,775 issues being tracked were feature requests. Compared to the March 2017 build, the issue count was reduced significantly.
The Visual Studio team also has made some significant headway working back to the March build; here's a quick list of highlights in that April Build:
- Workbench Themes: VS Code's workbench can be customized for one's development style, and those customizations can be saved and shared. There's "Theming support for list & trees (in particular the File Explorer and suggestions widget), diff editor, activity bar, notifications, scrollbar, splitview, buttons and more," according to the blog, with built-in themes able to take advantage of new, additional colors available via a Theme Color Reference. A theme generator project on GitHub is being developed to streamline the theme creation process.
- Source Code APIs: New source code management APIs are available for extending VSC with TFVC, Perforce, and Mercurial.
- Keyboard Shortcuts: Doing a search in the Keyboard Shortcuts editor for "all possible terms for modifier keys in corresponding platforms" is now supported.
Small but nonetheless not insignificant are two issues affecting developers using macOS. One is a flickering issue on high DPI monitors, and the other has to do with blurry icons. The team offered workarounds for those issues in the April Build.
These are just a very small list of a large set of changes; details for all these and other features are in this blog post.
Now, back to the May 2017 Build version 1.13: Among the highlights here are the enabling of several preview features as now "on" by default. "Features such as minimap, icon themes, and indent guides have been off by default and we think they are so useful, we want to showcase them," according to the blog post for the May 2017 Build. One other feature on by default now is the automatic updating of extensions. Of course, VS Code can be set so that these are toggled by developer preference.
A new setting that Sublime Text and Atom users might appreciate is the ability to change the modifier key so that multiple cursors can be applied; the setting will also work with the Go To Definition and Open Link gestures.
Improving upon the April Build 2017 theming that was mentioned earlier, feedback from developers working with the March and April builds showed it to be a popular feature, and so the team has added 50 new colors and tweaked some existing ones. There have also been changes to how contrast among UI features might override each other. The color theme changes continues throughout the product, with a high contrast theme surfacing itself when selecting code and in Status Bar colors; and coloring for inline merge conflicts.
And there are a slew of other enhancements and improvements: Combine snippets and multiple cursors; nest and put placeholder on snippets; Find widget has new behaviors, such as being able to be resized and scrolled; Integrated Terminal can run Tasks; Tasks version 2.0 preview includes automatic detection of Grunt or Gulp task runners; and a number of Debug improvements, including stepping performance improvements, file link detection in the Exception Peek interface, and a Copy All action that copies all content from the Debug console.
And work continues on a project to allow the multi-root workspaces, which is a more nuanced phrase for having multiple project folders open in an editor like Visual Studio Code that was originally meant for working with a single workspace. The VS Code team has "sketched up how we could provide this feature with our current architecture without introducing too many new concepts," and put those sketches in front of some users to figure out what should be implemented in the first development iteration. The blog provides two videos worth viewing if you want to see what work is being done on this project, and a good overview of the effort is in this GitHub note.
Feature-wise, Visual Studio Code version 1.13 has a lot to ingest. The full notes are here.
About the Author
Michael Domingo is a long-time software publishing veteran, having started up and managed several developer publications for the Clipper compiler, Microsoft Access, and Visual Basic. He's also managed IT pubs for 1105 Media, including Microsoft Certified Professional Magazine and Virtualization Review before landing his current gig as Visual Studio Magazine Editor in Chief. Besides his publishing life, he's a professional photographer, whose work can be found by Googling domingophoto.