@Gabriella439’s State of the Haskell ecosystem is a great reference, though it has became a little out of date. In particular, GHCUp and the Haskell Language Server have come along in the last few years and almost eclipsed all previous options, for your third and fourth points respectively. Other new-ish popular tools not mentioned there are Fourmolu (a configurable fork of the Ormolu formatter) and GhciWatch (a GHCId replacement, for running code on file changes).