To those who don't spend a lot of time in a terminal, it may sound stupid to highly customize it. However, when it's where you spend a lot of your time programming, it's a big help to get it just right.
To start out, I recommend "The Pug Engineer's" guide to setting up your term: https://github.com/pugengineer/iTerm2-ohmyzsh-powerlevel9k
I sometimes use iTerm for my terminal as Pug recommends. However, because I use VS Code so much, I usually just use the terminal in VS Code. So, I don't get some of the advantages of iTerm such as Profiling, Hot Keys, etc. VS Code's terminal can use zsh, autocomplete, etc, so many of the advantages are there.
And I do vary my settings from Pug. Here are the changes:
- I use the "agnosterzak" theme for zsh. You can find it along with setup instructions here: https://github.com/zakaziko99/agnosterzak-ohmyzsh-theme. I found the Powerline9 theme to be too long. Even Agnosterzak takes up too much space. So, I modified it to just give time, git status, and a prompt sign. I got rid of the username and directory listing. They just made the status line too big.
- In VS Code I like to use a Powerline font (https://github.com/powerline/fonts). I currently enjoy "Inconsolata for Powerline" as it's non-serif and easy on the eyes for me. To add a Powerline font in VS Code, select Code => Preferences => Settings, then search for "Editor: Font Family". Add your favorite Powerline font to the start of this box (comma delimited).
- For VS Code, I use the Dark+ theme.
That's it. It's not too much work to set up... maybe a Saturday morning's worth of time. However, it will pay big dividends on your next programming project.