I dropped the ST library about a week into my first foray into the STM32 series, IMO is is one of the worst libraries breaking most every rule (macro abuse, useless stub functions, endless assertions). I moved from this to rolling my own but then came across libstm32 (at the time) which was brilliant. Nowdays I use ChibiOS, it does a very good job of abstracting the hardware away from your code allowing you to write efficient, fast and understandable code.
As for an IDE, I use ViM and Makefiles... every now and then I decide to give a full IDE a go again, but quickly get annoyed with it and go back to ViM.