For my .NET development, Visual Studio is preferable unless I have to use otherwise (Such as SharpDevelop for one of my projects, for instance). Otherwise I'll just invoke VS Code and use that for managing things, and have makefiles for building my stuff on the command line. I used to use Notepad++ but after trying VS Code I find it is much more versatile for coding, and it has support for tons of languages, and also runs natively on all OSes I use.
For Arduino though I'll use the Arduino IDE, it allows me to just type, build, and run the code with no fuss. For Java, I have used NetBeans throughout school, but I try not to touch it because Java is gross to me.