No I am not talking about those apps, the ones everyone probably already has installed. The VSCodes, the VIMs, the Postmans. Nor am I talking about any of those environments that you only use because that's what you are developing for, no Node or Deno here, not even Docker. But you should totally try them all out if you haven't.
Notepads
Notepads is a Windows App developed by a Microsoft Employee. That being said, it is not endorsed by Microsoft. It is simply a more refined version of Notepad. It has tabs, it renders markdown, it has a dark mode and ligature support. It can't open files greater than 1MB but the point of this is to open smaller files for quick editing, anything larger than 100 lines and I'd want a more full-fledged editor with highlighting and so on. It can also be launched from the terminal, just like Notepad. I use this for when the .25s VSCode takes to launch is too long or as a persistent clipboard or as an alternative to Sticky Notes.
Image from the Notepads website
A good monospace font
I am going to come out and say that Fira Code is the move here because it has excellent ligature support, making multi-characater operators feel like the single operator they are. I know other fonts have ligature support too but Fira's just seems to be the most natural to me. It also has excellent support for differentiation between Il1|
and oO0
which is an objective plus to the language. The font height is also good for readability at various sizes.
Note that you can use any of the points I made about Fira Code and apply it to any monospace font to find the right one for you.
Matej Latin has an excellent article on what makes a good font for coding. He also includes diagrams with his work that illustrate what I said about character differentiation.
Windows Terminal
I don't care if you have a terminal. Ditch it. Windows Terminal is very likely the future of the Windows built in terminal and it is frankly excellent. I use my terminal all day at work and I have only wanted exactly 2 features from it:
- Clickable link support
- Quake-style hide and show
I am well aware there are terminals that can do both of these things (like the terminal in VSCode, cough cough Microsoft π) but those are minor. I like that you can set up many different shells, including WSL, Powershell, and even CMD (but why would you use CMD?). Add in launch arguments as one of the items and you could set up automatic SSHing to some other machine as a keyboard shortcut or new tab item.
Speaking of shortcuts, you can customize them in any way you see fit too. I have some set up to change tabs based on keystrokes I have hooked up to three finger swipes on my track pad to change tabs in full screen mode.
Powerline
Now that you have an awesome terminal and an awesome font, you can install the single greatest tool here: Powerline. Powerline takes your Powershell prompt and brings it to the 21st century.
Integrated git info, last command exit code indication, shortening directories to have Unix-style ~
for Home, all makes it an objective improvement to stock Powershell. This tool is so good, Microsoft put up a guide to install it.
Conclusion
Developing on Windows can be so much better if you give your setup some love. It might not be as powerful as Linux (although WSL kind-of means it is but that's another story). The point is, it sure is catching up and I am glad Microsoft has embraced their platform for developers.
Top comments (13)
I would also recommend you JetBrains Mono Font.
It's free, open source and supports Font Ligatures.
I use it in all my IDE`s and code editors.
I know I am in the minority, but I actually like the serifs. It feels more pleasing to read. Something about serifs seem to make it easier to read. I concede that JBM is probably better at smaller pixel heights because of those sharp cutoffs on the font so I think I'll give it another shot.
Yes. JetBrains Mono is great. Use it now as well.
I have to also recommend a powershell theme/shell called Starship (starship.rs) that is also cross-platform (for MacOS, Linux and Windows)!
Starship certainly looks interesting. I think I'm going to give it a try today. Thanks for the recommendation
thanks I have setup everything, and I fall in love again in programming :) thanks, thanks
My fav tool for developing on Windows next to Windows Terminal has to be virtual desktops. It's so easy to switch to and from I usually have at least 4
Yeah I have been working from home lately and my remote desktop doesn't support virtual desktop switching by track pad gesture so I am retraining myself to use the keyboard shortcut. Super underrated feature, especially for developing on a laptop where you don't have multiple physical screens
There's a typo in the title of FONT.
I use github.com/be5invis/Iosevka makes good use of screen's real estate.
Thanks for thatπ For some reason my auto-correct thinks that I always mean front and I missed this one
devblogs.microsoft.com/commandline...
Clickable link support is already available in Preview, just wait for it in the release *yay*
I ll test that powerline, thank youuu
Yeah man, Windows Terminal is such a great tool, plus you can customize your own theme