Introducing Windows Terminal

Avatar

Kayla

We are beyond excited to announce Windows Terminal! Windows Terminal is a new, modern, fast, efficient, powerful, and productive terminal application for users of command-line tools and shells like Command Prompt, PowerShell, and WSL.

https://aka.ms/terminal-video

Windows Terminal will be delivered via the Microsoft Store in Windows 10 and will be updated regularly, ensuring you are always up to date and able to enjoy the newest features and latest improvements with minimum effort.

Windows Terminal key features

Multiple tabs

You’ve asked and we’ve listened! The most frequently requested feature for the Terminal is multiple tab support and we are SUPER excited to FINALLY be able to deliver this key feature. You will now be able to open any number of tabs, each connected to a command-line shell or app of your choice, e.g. Command Prompt, PowerShell, Ubuntu on WSL, a Raspberry Pi via SSH, etc.

Beautiful text

The Windows Terminal uses a GPU accelerated DirectWrite/DirectX-based text rendering engine. This new text rendering engine will display text characters, glyphs, and symbols present within fonts on your PC, including CJK ideograms, emoji, powerline symbols, icons, programming ligatures, etc. This engine also renders text much faster than the previous Console’s GDI engine!

You will also have the option of using our new font! We wanted to create a fun, new, monospaced font to enhance the modern look and feel of the Terminal. Not only will this font include programming ligatures, but it will also be open sourced and have its own repository. Stay tuned for more information on the new font project!

Settings and configurability

We have connected with so many command-line users who LOVE to customize their terminals and command-line applications. Windows Terminal provides many settings and configuration options that give you a great deal of control over the Terminal’s appearance and each of the shells/profiles that you can open as new tabs. Settings are stored in a structured text file making it easy for users and/or tools to configure.

Using Terminal’s configuration mechanism, you will be able to create multiple “profiles” for each shell/app/tool you want to use, whether it be PowerShell, Command Prompt, Ubuntu, or even SSH connections to Azure or IoT devices. These profiles can have their own combination of font styles and sizes, color themes, background blur/transparency levels, etc. You can now create your own custom-styled Terminal that is personalized to your unique taste!

More!

After we’ve shipped Windows Terminal 1.0, we plan to get started on many of the features already in our backlog, in addition to the many features you as the community are likely to add!

When can I get my hands on it?

As of today, the Windows Terminal and Windows Console have been made open source and you can clone, build, run, and test the code from the repository on GitHub: https://github.com/Microsoft/Terminal

This summer in 2019, Windows Terminal previews will be released to the Microsoft Store for early adopters to use and provide feedback.

This winter in 2019, our goal is to launch Windows Terminal 1.0 and we’ll work with the community to ensure it’s ready before we release!

Happy Joy Gif - Giphy
[Happy Joy Gif – Giphy]

Wait… did you say open source?

Yes we did! We are excited to announce that we are open sourcing not just Windows Terminal, but also the Windows Console which hosts the command-line infrastructure in Windows and provides the traditional Console UX.

We can’t wait to work with you on improving and enhancing the Windows command-line experience!

This sounds awesome, but why couldn’t you just improve the existing Windows Console?

The primary goal of the Windows Console is to preserve backward compatibility with existing command-line tools, scripts, etc. While we’ve managed to introduce many key improvements to the Console’s features (e.g. adding VT and 24-bit color support, etc. see this blog post), we are unable to introduce further meaningful improvements to the Console’s UI without “breaking the world.”

Therefore, the time has come for a new, fresh approach.

Windows Terminal installs and runs alongside the existing in-box Windows Console application. If you run Cmd/PowerShell/etc. directly, they will start attached to a traditional Console instance in the exact same way they do today. This way, backward compatibility remains intact while providing you the option of experiencing Windows Terminal if/when you wish to do so. Windows Console will continue to ship within Windows for decades to come in order to support existing/legacy applications and systems.

Okay, but what about contributing to an existing open source terminal/app project instead?

We carefully explored this option during planning and determined our involvement in an existing project would require changing the project’s requirements and architecture in ways that would be too disruptive.

Instead, by creating a new open-source terminal application, and open-sourcing Windows Console, we can now invite the community to collaborate with us on improving the code and leveraging it in their respective projects.

We believe there is plenty of room in the market for new/different ideas about what a terminal can and should do and we aim to help the ecosystem of terminal (and related) applications flourish and grow through the introduction of new ideas, interesting approaches, and exciting innovations in this space.

I’m sold! How can I get involved?

Visit the repo at https://github.com/Microsoft/Terminal to clone, build, test, and run the Terminal! You can file bugs and share feedback with us and the community as well as fix issues and make improvements on GitHub.

Starting this summer, try installing and running Windows Terminal from the Microsoft Store. If you come across any bugs, share feedback either via the Feedback Hub or GitHub issues for detailed issues/discussions.

We are thrilled to be working with you! If you have any questions or feedback, don’t hesitate to reach out to Kayla @cinnamon_msft and/or Rich @richturn_ms on Twitter. We can’t wait to see what exciting improvements and features you make to Windows Terminal and Windows Console.

Authors: Kayla Cinnamon, Rich Turner

128 comments

Comments are closed. Login to edit/delete your existing comments

  • Avatar
    oussama essamadi

    Vscode, edge chromium and now this? I love you Microsoft. I hope there is going to be support for 3rd party plugin integration.

  • Avatar
    C Z

    Is UWP a good solution for windows terminal ?

    It is very stunned, slow, and prone to FC. Some UWP applications (startup menus , settings) often have UI bugs.

    • Avatar
      Dave Bacher

      It doesn’t use UWP.

      Also, 100% of your FC from UWP are a result of programmer error.  If your app force closes, and you wrote it, its your fault.  Pull the log from the developer console and, if needed, go to a forum with it for help deciphering it.  People want to help your program not to crash.

      Slow is also generally caused by programmers, not technologies.  The x64 runs the same number of instructions, your C# or C++ code generates about the same number of instructions, you’re running the same way.  If you’re running “slow,” it most likely indicates you’re doing things incorrectly and most likely working with some folks on the forums or on Stack Overflow, folks will get it working faster for you.

      UI bugs are always the fault of whoever wrote the UI, never the fault of a technology.  Firefox and Chrome often have UI bugs too, they have an entire category for them in their respective bug tracking – if you go to GitHub and look at apps that have settings UI, I think it’d be close to 95% of active projects with significant numbers of downloads that have at least one setting or UI bug.

      Turns out, humans make a lot of mistakes.

      • Avatar
        Daniel Sturm

        “The x64 runs the same number of instructions, your C# or C++ code generates about the same number of instructions, you’re running the same way”

        Except that c# requires initializing a runtime which is nontrivial amount of effort. Managed languages are great for developers and long running applications, but if startup time is important picking .NET is suboptimal to say the least.

        That’s also one of the reasons why the current PowerShell shell takes ages the first time you start it.

      • Avatar
        Chris Shaffer

        You’re right, but still wrong. The bad idea here on MS part is putting it in the Windows Store.Power users can’t download this on server, which is where I might care that it existed. Unfortunately, the most likely environment for it to be used widely can’t use it at all.Also, I don’t think the guy you’re verbally assaulting ever said anything about who’s fault a crappy UI is, whether or not the programming language or dev was to blame, or that those issues weren’t the fault of humans.That doesn’t change the fact that there seem to be an overwhelmingly high majority of apps from the Windows Store in general that are buggy as hell.

        • Avatar
          Autymn C

          What’s wrong with your spacing?
          who’s -> whose, dolt
          whether or not: if you don’t say so yourself
          issues -> problems

      • Avatar
        Autymn C

        its -> it’s
        comma abuse
        Don’t quote punctuation that doesn’t belong, subrational.
        Who is a “folk”?
        faster -> swiftlier; glue and seatbelts are fast.
        whoever -> whomever
        UI is included in a platform; it so could be the latter’s fault.