Icinga Web 2 requires some components to fully run. In order to avoid building your own LAMP stack with PHP, Apache/Nginx, MariaDB, OpenLDAP, etc. just use the development Vagrant box.
The documentation provides a quickstart on the matter. Once the Vagrant box is up and running, you can just edit your local source in this directory and it will be rendered live in your browser then.
This also works for modules, just put them into the
Icinga developers prefer to use JetBrains PHPStorm for development - basically you can use any editor you like. Just make sure to respect the indent used in the source code.
Tipp: You can apply for an Open Source license for JetBrains.