Just a little follow up regarding the text editor/IDE. There is also no rule that says you can't use multiple editors.
For example, I use the Notepad++ (free) - for Windows - because I am most comfortable with it and have configured it with all the plugins I generally use. It is very stable, has tons of useful features and the lowest learning curve for beginners. The down side of Notepad++ is that its integration with XDEBUG, the PHP debugger, just doesn't work well when it comes to large PHP projects like Moodle. It also lacks Moodle code completion and enforcement of Moodle coding standards. But it does have a few really nice features that neither Sublime Text or NetBeans have yet,
I also use Sublime Text ($70 USD) - for Windows, Linux and OS X - because it is almost as fast as Notepad++ and you can actually configure it using plugins to add most of the commonly used IDE features. It does have a slightly higher learning curve than Notepad++ but, once you get use to it, it can easily replace Notepad++. Think of Notepad++ as Sublime Text's younger sibling. I haven't had a chance to try XDEBUG with Sublime Text but I would imagine it works well given its popularity with PHP developers.
I also occasionally use NetBeans IDE PHP (free) when I need to trace through PHP code. This is a pretty complete environment with a higher learning curve than Notepad++. The sheer number of features can be overwhelming when you are just starting out. The reason I only use it occasionally is because it is a resource hog on my Windows computer due to the fact that it runs in a Java virtual machine. As a result, it loads MUCH slower than Notepad++ and Sublime Text. Once loaded, it performs at about the same speed as Sublime. I mainly use it for debugging PHP code with XDEBUG. If you tend to open and close your editor frequently, try one of the other non-IDE editors and experience the difference for yourself.
I have tried other popular text editors like Atom and Visual Studio Code but they are not suitable for Moodle development as they will slow down to a crawl when you try to open some of the larger Moodle PHP library files. Adobe Brackets actually performs quite well but occasionally has some stability issues in my experience. I don't know about you but I hate loosing my work. I have not tried PHPStorm ($$) which seem to be pretty popular amongst PHP developers. I've also read some good things about phpDesigner which loads quickly as it is a native Windows IDE. Some people have complained about stability issues and poor support - however this is just stuff I've read. When choosing an editor, my first test is to always open /lib/moodlelib.php (about 340 KB). How long did it take to open? Then scroll about half way down the file, type some text and hit ENTER a few times. How long did it take? Exit without saving. If the responsiveness of your editor was slow, it will slow down your productivity and is not suitable for Moodle development. Notepad++ and Sublime Text passed this test with flying colours.
Why this focus on the text editor? Because you will probably spend more time using this than just about any other. There is nothing quite like having tools that you are comfortable using and that meet your needs.