.NET Developer on MacOS

This is a list of all tools I use on my Macbook Pro. The information is intentionally short...

.NET Developer on MacOS
Photo by Chris Thompson / Unsplash


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:

  1. 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.
  2. Quickly change space (each space can have it's own profile!)
    ⌃ (ctrl) + 1 or ⌃ (ctrl) + 2 or ⌃ (ctrl) + 3 etc...
  3. Open new url in new tab
    ⌘ (cmd) + t
  4. 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:

  1. Browser extension, it's awesome
    Extension: 1Password browser extension
  2. Create multiple profiles to let you have unique setup of cookies etc. I have a couple: personal, work, work qa environment & work production environment
  3. 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

  1. Show all filename extensions
    Finder > Settings > Advanced > "Show all filename extensions" or
    defaults write com.apple.finder AppleShowAllFiles true
  2. Show your disk in left pane
    Finder > Settings > Sidebar > "Hard disks"
  3. Show hidden files
    shift + cmd + .
  4. Go-to path
    shift + cmd + g
  5. Drag frequently accessed folders to left pane
  6. 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:

  1. Move window to left
    shift + option + left arrow
  2. Move window to right
    shift + option + right arrow
  3. 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 have cmd + §.

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:

  1. 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:

  1. Accessible with keyboard shortcut
    option + space
  2. Enable clipboard history (this is seriously amazing!)
  3. 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:

  1. Wrap tabs
    Workbench > Editor Management > Wrap Tabs
  2. Extension to make the look and feel smoother of the whole editor
    Extension: One Monokai Theme
  3. Git integrated and easily see git information in the editor
    Extension: GitLens - Git supercharged
  4. Powerful AI to assist in whatever you type
    Extension: GitHub Copilot
  5. Quickly unescape/escape JSON
    Extension: JSON Escaper
  6. 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:

  1. 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:

  1. 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:

  1. Install latest version of Terraform
    tfenv install latest
  2. Install a specific version
    tfenv install 1.4.6
  3. 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
  4. Change terraform being used
    terraform use <version> like terraform 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:

  1. AI assistant with coding. Works very good.
    Plugin: GitHub Copilot
  2. Work more easily with SpecFlow to write tests
    Plugin: SpecFlow for Rider
  3. Get help and analyzes of your logging statements
    Plugin: Structured Logging
  4. 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"
  5. 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 ($)

https://1password.com/

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:

  1. shift + cmd + space (To open a little bar in the middle of the screen. Great for quick access)
  2. 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).
  3. Make sure you have a browser extension for smooth fill of login details in Arc/Brave/Chrome
  4. 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.