Preparing the IDE
ESPlorer - the NodeMcu IDE
ESPlorer is the de facto NodeMcu IDE. It runs on any platform that has Java 7 or above installed. It's webpage has links to tutorials on how to use it.
I also find these:
https://roboindia.com/tutorials/starting-with-lua-on-esp8266-wifi-module
If you don't want to use Java for some reason, there is LuaLoader, but I never tried this one.
Arduino IDE:
https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/using-arduino-ide
https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-guide/installing-the-esp8266-arduino-addon
https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/