I use MS development tools regularly (in fact I have both VS6 and VS.NET installed on my working machine), and indeed MS fine dev-envs makes. I also have both VisualCafe and JBuilder installed, and I do prefer VS to both, though this preference may also be the result of familiarity (if you have them, note the similarity between JBuilder and VS.NET. Must be the result of MS stealing all those Borland developers. I am not familiar with IntelliJ.)
Despite my preference, I do not consider using VS.NET and J# to develop Java applications. The only reason I develop applications in Java is to have them run on the JVM. For .NET I only use C# (and sometimes VB.NET and JScript.NET for laughs.) The only reason I see for using J# is if you were gullible enough to make a large investment in VJ++ and are now stuck with the code. In that context J# may be a lifesaver (though a bit late IMO).
Using J# as a means for leveraging Java knowledge for .NET is wrong, a mental dead end. Better to bite the built and go with C# (which is close enough anyway).
BTW, I wonder if J# has inner classes.