I try to maintain a toolkit of useful apps for doing my daily development tasks. Some of these I use very frequently, others not so much but they are useful to know about. I thought I'd catalogue them on my blog so that I remember them when I'm setting up a new machine :)
Tool Name Description
Microsoft Visual Studio I think this one goes without saying, but if anyone getting into development needs to choose an IDE I'd highly recommend starting here! It pretty much does everything you need (solutions, projects, code editing, compiling, debugging, NuGet package management, profiling, source control and more) and at the time of writing is available for Windows and Mac. The main competitor being JetBrains Rider which is fully cross platform and includes Re-Sharper refactorings, but as of yet has not tempted me away from the staple of Visual Studio. There are free editions of Visual Studio suitable for most people.
JetBrains Re-Sharper A plugin for Visual Studio which has many extensions and helpers to refactor your code, spot potential issues, decompile .NET assemblies, performance tracing etc. It does have a cost associated with it and I don't always install it as I don't like the idea of being dependent on it and there is a lot of cross over in functionality provided by Visual Studio itself of other free 3rd party tools. However more and more I am liking a lot of the features and it becoming a staple in my day to day developments.
CodeMaid A free plugin for Visual Studio which provides shortcuts for cleaning up code files, such as ensuring the order of code within classes, removing and sorting "using" statements etc. You can also download my preferred settings for CodeMaid.
NCrunch A plugin for Visual Studio which provides test code coverage and a automatic background test runner to keep you well informed of uncovered lines or broken tests while you develop. This one also has a cost associated with it but I'm yet to find anything in the free software space that comes close to the functionality.
Notepad++ A free cross platform text editor which is well maintained and comes with a lot of features for working with text files. It's not a "code editor", as such although it supports syntax highlighting, but it's useful for quickly viewing or editing all kinds of text files.
VS Code A free cross platform extensible IDE/text editor by Microsoft. For me, this is the middle ground between opening Notepad++ and opening Visual Studio. I also like to use VS Code when working on any front-end projects such as those built using Webpack due to the lack of Visual Studio project files in those kind of projects and because of the built in terminal window.
Sourcetree A free GUI for Git. One of the best I've tried and adds real value vs using the Visual Studio plugin or going fully command line.
Docker Installing Docker desktop opens up a whole world of containerised apps ready for you to integrate with in your code, such as Redis caches, Kafka instances, SQL server, FTP servers - pretty much run anything with a simple command!
Fiddler A free tool to aid debugging web based application. It can capture web traffic as well as reply packets, intercept calls and more.
Wireshark A free tool to aid debugging network traffic. Generally I use this when Fiddler can't intercept the traffic and I need something a little further down the network stack for capturing traffic.
ILSpy A free tool for decompiling .NET assembles.
Multi Commander A free dual pane file explorer tool with many extensions and helpful functions for dealing with different types of file. Most of the time I find Windows Explorer fine, but sometimes an alternative tool with more options can be useful. From all the ones I tried this is currently my favourite.
FAR - Find and Replace A free tool for performing 2 useful operations - 1 is replace names within files (multi rename) and 2 is replace text within files. This is useful when you want to create a new project based on another and want to quickly rename all project files and swap out the namespaces in all code files.
mRemoteNG A free tool for managing connections to remote machines including RDP, SSH and Web interfaces.
WinMerge A free tool for comparing and merging files and folders.
Conduktor A free GUI for inspecting the data in a Kafka instance