wouldn't community edition fit the bill? Those things you mention are the main difference with ultimate.
Any reason you're using sbt for Java projects? That's an odd combination. Anyway, I believe Metals is getting close to supporting this particular use case if you want to keep using VS Code.