Since the start of working from home, I'm spending a lot of time on Teams calls helping coworkers debug their code. One of the hardest parts about that is watching people pull up
cmd.exe to run their projects.
While you can make improvements and customizations to
cmd.exe to make it work a little better for you, I'd argue that it's much easier using the new Windows Terminal which you can install from the Microsoft Store.
I have been using Command Prompt quite literally since I was a child; but now that I'm using terminals in a professional setting... I needed something more up-to-date. The nice thing about the new Windows Terminal is, if you're really attached to
cmd.exe you can launch it from the terminal app!
I always encourage engineers to hack with their development box to make it work better for them. There are so many different tools, features, and settings to play around with. Just make sure they work right for you!
1. Custom Color Schemes
I remember the first time I saw the video introducing the new Windows Terminal I was floored. The announcement felt more like an Apple or Xbox device launch than a productivity tool. It really sets the stage for the improvements they're bringing to the terminal game.
It looks so much friendlier than your typical
cmd.exe environment. The custom colors are much nicer to look at than the drab black and white. It's also really easy to change these colors to make it your own!
All of the settings for the project are stored in a
settings.json file that you can launch from the options menu. The official documentation also provides an example of how to edit this portion.
Scott Hansleman also published "How to change the background of your Windows Terminal settings" which provides a more friendly introduction to making these changes.
I personally use Windows Terminal Themes to grab aesthetically pleasing themes from makers in the community.
Before I started working at Microsoft, I only ever accidentally launched PowerShell and was immediately intimidated by the name. I had no clue what it did, and I assumed I probably shouldn't mess with it.
After joining Microsoft (and following @TylerLeonhardt on Twitter) I got to learn more about PowerShell and how I could incorporate it into my daily life. To be honest, one of the main reasons I made the switch was because I missed using
ls to list directories instead of using
Instead of launching PowerShell using the native console, it's one of the default options you can use in Windows Terminal. PowerShell also has a thriving community of contributors building productivity plugins such as posh-git as seen below.
Scott Hansleman has a guide to show users how to setup a similar environment; this setup is very helpful for git users who want to know more about the context of the repository they're inside of.
3. Support for Linux
Finally, one of the coolest parts of the work being done in Windows right now is the support for the Windows Subsystem for Linux. This brings the power of the Linux kernel without having to manage multiple installs or installing and maintaining a VM.
You can interact with Ubuntu and PowerShell in the same place! Admittedly I have not experimented with this as much as I'd like to; but this is one of the more salient points demonstrating that this is not your mom's Microsoft.
Like PowerShell, this isn't exclusively a Windows Terminal feature; but it does have first party supportability in the application. I love how easy it is to switch between environments, and how you can specify unique styles for each one. As someone with ADHD, it's important for me to reduce the amount of time context switching. Anything that prevents me from having to switch machines or constantly jump window-to-window is a massive win.
If you've already started using WSL I'd love to hear from you (hit me up on Twitter @airercode500) and learn more about how you've been using it.