Announced at its annual Build conference in Seattle at the beginning of May, Windows Terminal will replace the console that’s currently built-in to Windows 10. Microsoft has reached the end of the road with the current console because while it has seen some minor but welcome improvements over the last couple of years, Microsoft can’t add the features it would like without breaking backwards compatibility. So, the decision was taken to start from scratch and develop a new terminal.
Why is the Console/Terminal Important?
One word: developers. There are many reasons why organizations choose Linux over Windows for developing applications. And Microsoft recognizes this. Where Windows might have once been the dominant application platform in the enterprise, distributed cloud apps have changed the way systems are designed, developed, and maintained. Linux provides a lightweight and flexible alternative to Windows that is attractive for cloud-born apps.
In a 2016 survey, OS X topped the list of operating systems used for development, followed by Windows, and then Linux. And there are reasons why developers might choose macOS over Windows, like access to a true Unix shell and the ability to virtualize Linux and Windows. But Microsoft is trying to keep developers on side and to do that, it needs to make Windows a first-class citizen in the development arena.
To that end, Microsoft released the Windows Subsystem for Linux (WSL) in Windows 10. WSL lets you run a Linux shell on top of Windows, like an application. This gives developers and system administrators quick and easy access to Linux without the overhead associated with virtual machines (VMs). WSL performs like an app that has high level integration with Windows but VMs do the opposite by isolating the guest operating system from the host.
Introducing Windows Terminal
The improvements that came in the console were partly designed to make WSL a better experience. But the console still leaves a lot to be desired if you compare it with terminals for Linux and MacOS. So, Microsoft needed to do something more radical and Windows Terminal was born. There are several important features that differentiate Windows Terminal from the existing console:
- Multiple tabs
- GPU accelerated DirectWrite/DirectX-based text rendering
- Settings and configurability
These features are just the start and Microsoft is planning to add many more after the product officially ships. Windows Terminal allows you to connect to as many command-line shells or apps as you like, each with its own separate tab. The accelerated graphics will provide smooth and fast rendering of text, glyphs, symbols, ideograms, emojis, powerline symbols, icons, programming ligatures, and more. Finally, Windows Terminal will be very configurable so that users can control the appearance of shells and profiles. And settings will be stored in a structured text file for easy setup. Windows Terminal will support multiple user profiles for each shell or app that you connect to, and each profile can have its own settings for fonts, color themes, background blur, and more.
Windows Terminal will ship via the Microsoft Store. It will be available in preview form this summer and Microsoft is hoping to make it generally available in winter 2019. But if you can’t wait until then, Microsoft has open sourced the project and you can compile the bits yourself from GitHub.
Windows Terminal vs Visual Studio Code
I’m not a developer so Windows Terminal isn’t something that I’m very excited about. And I’m not sure how important it is when Visual Studio Code already offers the most important features of Windows Terminal, like the ability to use multiple terminals, albeit not in tabs. And with VS Code Remote Extensions now in preview, connecting to remote systems in Visual Studio Code will soon get much easier.
Nevertheless, Windows Terminal is easier on the eyes and will be more useful than the legacy console. So, whether you are a developer who needs a terminal for every day use or a system administrator that occasionally works with a terminal, Windows Terminal should make life easier and more productive.