.NET Developer on MacOS
This is a list of all tools I use on my Macbook Pro. The information is intentionally short...
Overview
This is a list of all tools I use on my Macbook Pro. The information is intentionally short and concise to make it easy to skim through. You'll see how to install the tool, where to read more and a quick explanation of what each tool does. All tools are free except a few ones, but in the case they can cost you a few dollars I have marked that with "$" in the title and put them at the end of the post.
XCode Command Line Tools
xcode-select –install
Site: https://developer.apple.com/xcode/resources/
Even if you don't develop a single app for iOS or MacOS you'll still need the XCode Command Line Tools. It contains a bunch of software needed for most development whether you're a frontend or backend developer. So install this first prior to any other software.
Homebrew
/bin/bash -c "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
)"
Site: https://brew.sh/
This is a favorite. It's a package manager. It works absolutely amazing and is very helpful in installing other programs. The way you install a program with homebrew is brew install <name>
or brew install --cask <name>
. I use it for 95% of the programs as you'll see below.
Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Site: https://ohmyz.sh/
Simple framework to manage your zsh configuration. Has neat plugin for Git and provides a lot of themes for your terminal. Nowadays I tend to use Warp more but I did use Oh My Zsh a lot when running iTerm2 so I feel it's still worth to mention it.
Warp
brew install --cask warp
Site: https://www.warp.dev/
New and fresh terminal. Works very neat and has great support for tabs, autofill, history of commands and general editing of your prompt. Not to mention the built in AI.
Arc
brew install --cask arc
Site: https://arc.net/
New and fresh browser. Built on Chromium. Handles profiles better than Brave/Chrome so if you frequently change browser windows because you need different setup of cookies etc then Arc is very pleasant. Lacks basic bookmark capabilities which is a bit annoying though.
Tips for Arc:
- Create separate spaces for whenever you require a different setup of cookies or login credentials. I use 3 different spaces only for work because I need different login credentials saved for AWS.
- Quickly change space (each space can have it's own profile!)
⌃ (ctrl) + 1
or⌃ (ctrl) + 2
or⌃ (ctrl) + 3
etc... - Open new url in new tab
⌘ (cmd) + t
- Edit current url or copy it
⌘ (cmd) + l
Brave
brew install --cask brave-browser
Site: https://brave.com/
Very privacy focused browser. Built on Chromium. Works excellent. This is my go-to browser. It's like Chrome but blocks more ads and cookie banners which is superb.
Tips for Brave:
- Browser extension, it's awesome
Extension: 1Password browser extension - Create multiple profiles to let you have unique setup of cookies etc. I have a couple: personal, work, work qa environment & work production environment
- Turn on Brave Shield, it blocks many trackers and cookie banners
Finder
Already installed on MacOS.
Allows you to explore your file system through a GUI. It's horrible as a start so some basic configuration is a must. These tips below is a great start to make Finder more usable.
Tips for Finder
- Show all filename extensions
Finder > Settings > Advanced > "Show all filename extensions"
ordefaults write com.apple.finder AppleShowAllFiles true
- Show your disk in left pane
Finder > Settings > Sidebar > "Hard disks"
- Show hidden files
shift + cmd + .
- Go-to path
shift + cmd + g
- Drag frequently accessed folders to left pane
- Open a new Finder window
cmd + n
Rectangle
brew install --cask rectangle
Site: https://rectangleapp.com/
Easy. Smooth. Does one job and does it well. Use keybindings to position your app windows on for example the left, right, top right, bottom left etc positions of your screen.
Tips for Rectangle:
- Move window to left
shift + option + left arrow
- Move window to right
shift + option + right arrow
- Toggle between application windows
Topleft apple icon => System Settings => Keyboard => Keyboard Shortcuts... => Keyboard => "Move focus to next window"
. Also make sure it is bound to something useful. I havecmd + §
.
NVM
brew install nvm
Site: https://github.com/nvm-sh/nvm
Important! In short nvm allows you to run multiple versions of Node.js. Install this before Node.js.
Tips for NVM:
- Install different versions of Node.js
nvm install <version>
Node.js
nvm install node
Site: https://nodejs.org/en
Important! Install NVM mentioned above first. Even if you're not actively developing in Node.js you will likely need it since some helper tools and scripts depend on it.
Alfred
brew install --cask alfred
Site: https://www.alfredapp.com/
It's a better version of the built in Spotlight search in MacOS. I absolutely love the clipboard history feature of this tool.
Tips for Alfred:
- Accessible with keyboard shortcut
option + space
- Enable clipboard history (this is seriously amazing!)
- Create snippets for frequent commands, email address or any text you like
Visual Studio Code
brew install --cask visual-studio-code
Site: https://code.visualstudio.com/
Tips for VS Code:
- Wrap tabs
Workbench > Editor Management > Wrap Tabs - Extension to make the look and feel smoother of the whole editor
Extension: One Monokai Theme - Git integrated and easily see git information in the editor
Extension: GitLens - Git supercharged - Powerful AI to assist in whatever you type
Extension: GitHub Copilot - Quickly unescape/escape JSON
Extension: JSON Escaper - Better support for C#
Extension: C#
K9S
brew install k9s
Site: https://k9scli.io/
Only applicable if you work with Kubernetes. It's essentially a GUI tool built into your terminal. Works well to inspect most of your resources in K8s.
Lazygit
brew install jesseduffield/lazygit/lazygit
Site: https://github.com/jesseduffield/lazygit
Probably one of the most powerful Git tools out there. When you know how to use it it will supercharge your workflow. You can do pretty much everything you like with Git, and it's very handy. Things like creating branch, stash, commit, amend, rebase is a complete charm. A bit tricky to learn by hand so I recommend to watch a tutorial on YouTube.
Tips for lazygit:
- 15 features in under 15 minutes by the founder
https://youtu.be/CPLdltN7wgE?si=MBNtNbmIkO955Og7
Lazydocker
brew install jesseduffield/lazydocker/lazydocker
Site: https://github.com/jesseduffield/lazydocker
Allows you to manage your docker containers and images. Works similar to lazygit but for docker.
Tips for lazydocker:
- alias ld=lazydocker
tfenv
brew install tfenv
Site: https://github.com/tfutils/tfenv
It's not like I use Terraform everyday or so. But I feel it's hard to find reasons to not install this tool. It's essentially a version manager for Terraform to let you have different versions of Terraform installed and switch between them. Works very similar to nvm.
Tips for tfenv:
- Install latest version of Terraform
tfenv install latest
- Install a specific version
tfenv install 1.4.6
- Install a specific version for a amd64 architecture (hint hint, I had to use this at 2AM once because our Terraform provider was not built for the M1 processor. Not very fun but damn neat!)
TFENV_ARCH=amd64 tfenv install 1.4.5
- Change terraform being used
terraform use <version>
liketerraform use 1.4.6
Miro
brew install --cask miro
Site: https://miro.com/
Quickly draw some squares and boxes and work together with your colleagues. Great as a quick tool for either retrospectives, planning some work or brainstorming ideas.
Slack
brew install --cask slack
Site: https://slack.com/
Great communication tool. Chat, talk, share screen.
Advanced Screen Sharing
AppStore: Advanced Screen Sharing
Extremely useful if you have an ultrawide monitor. Allows you to share portion of your screen so that you can easily change applications and let your remote pair-programming see IDE, browser etc.
FileVault
Already installed on MacOS.
Automatic encryption tool for your hard drive. Make sure it's enabled in case your computer gets stolen.
WiFi Signal: Status Monitor
AppStore: WiFi Signal: Status Monitor
I find this tool useful to see the strength of your WiFi signal and Signal-to-Noise ratio (SNR).
Snagit
brew install --cask snagit
Site: https://www.techsmith.com/screen-capture.html
I love this tool. Quickly select a custom area of the screen and take a print screen, and then drag an arrow or mark a specific content with a red box for example to draw attention to a piece of code or place on the screen. Copy then paste into Slack for example to share with your colleagues.
Aliases
Feel free to pick all or a few of these, I find them very helpful on a daily basis.
Rider ($)
brew install --cask rider
Site: https://www.jetbrains.com/rider/
This is close to a must-have IDE for C#/.NET Development.
Tips for Rider:
- AI assistant with coding. Works very good.
Plugin: GitHub Copilot - Work more easily with SpecFlow to write tests
Plugin: SpecFlow for Rider - Get help and analyzes of your logging statements
Plugin: Structured Logging - I like to pin tabs that I frequently access, and I like when these tabs are on a separate line
Settings > Editor > General > Editor Tabs > "Show pinned tabs in a separate row"
- Show tabs in multiple row if you have plenty of tabs
Settings > Editor > General > Editor Tabs > "Multiple rows"
NordVPN ($)
brew install --cask nordvpn
Site: https://nordvpn.com
A VPN service which is good to have if you want to connect to wifi's not owned by you. I've found it works well and is very fast. Easy intuitive UI.
1Password ($)
How can passwords be so fun nowadays? This is one of my absolute favorite tool and I cannot live a single day without it. Works like a charm on MacOS and iOS as well. Highly recommend to install browser extension to Arc/Brave/Chrome too. There's plenty of alternatives, but I've used it for so many years and it still feels so damn modern and works excellent.
Tips for 1Password:
shift + cmd + space
(To open a little bar in the middle of the screen. Great for quick access)- You can use 2FA for your services inside 1Password as well. Extremely handy. Also persisted in cloud meaning whenever you reinstall your OS your 2FA is already setup).
- Make sure you have a browser extension for smooth fill of login details in Arc/Brave/Chrome
- You must have the app as well. It's absolutely fantastic on iOS at least.
Summary
I hope you found this list useful or that it gave you some inspiration. Great tools make your everyday work so much more fun and enjoyable!
Now that you have some idea of what tools I use and like, please write a comment if you have a tool that would fit well into this toolbox.