views:

9175

answers:

9

As a C# programmer I want to increase the java knowledge and the only barrier is getting grip with the java IDEs like Eclipse. What can I do or use to get Visual-Studio-like experience from these IDEs.

EDIT: I don't want visual studio drag and drop support specifically but I need the Resharper plugin functionalities and responsive intellisense.

EDIT: I have tried Eclipse, NetBeans, and IntellijIdea but they feel too archaic (but with impressive features!) compared to Visual Studio. Can I make them look and behave like Visual Studio editor?

A: 

NetBeans and IntelliJ are both great Java IDEs.

zodeus
+11  A: 

If you want a Visual Studio-like IDE for Java development why not just use Visual Studio?

With a few tweaks you can quite easily compile a Java project from within Visual Studio.

Check this out: http://www.improve.dk/blog/2007/09/29/compiling-java-in-visual-studio

Slace
But you don't get a debugger or access to refactoring etc...
TofuBeer
good one but the intellisense support will be minimum
suhair
I really can't see how this would be a good idea. It doesn't give you a Visual Studio-like IDE: it gives you a text editor with Visual Studio layout. Given that J# is now not part of Visual Studio, I wouldn't be surprised to see its support being worse in 2008 than 2005.
Jon Skeet
+7  A: 

There are three popular ones:

What specific features from Visual Studio are you looking for?

Can i make them or theme them to look and behave like visual studio editor?

Not that I am aware of. For most of the features you want I would say any of them are suitable.

I use NetBeans on a daily basis... when I have to look at visual studio I cringe (always have). From that point of view it is personal preference of how it does what it does. All IDEs pretty much do the same thing.

If what you want is a Java IDE that looks like Visual Studio I don't think you will find it (different people will have different opinions on if that is good or bad :-).

I'd say pick one of them (or another one that someone mentions here) and dive in and start using it. It'll take a bit of time to get used to, but if you are going to do any Java development the time is well spent.

TofuBeer
Hate Eclipse, can live with Netbeans but LOVE IntelliJ IDEA +1
Perpetualcoder
+3  A: 

The layout and functionality of JCreator reminds me of visual studio, although it lacks many features such as Eclipse's Real-Time compilation to point out errors. I'd highly recommend you go with Eclipse though.

-John

John T
But I guess JCreator is small and faster and suitable for Java beginners!
Bharani
It also has snappy intellisense he is looking for, you can even specify in ms how fast you want it to respond. But I still think a beginner would benefit more from the runtime compilation showing your errors.
John T
+3  A: 

You are not going to be able to theme them to look and act like visual studio. They are different products with different histories, different strengths, and different weaknesses.

Besides, if you are trying to expand your knowledge and expertise beyond what you currently know, experiencing different IDE layouts and workflows will only help that process. Every tool makes different choices in how they approach the problem of making the perfect IDE just like Java and C# make different choices in how they approach making the perfect language. Your best approach is to take the languages and their tools as they are designed to be, learn their idioms, learn what you like about them and what you don't like about them. They may be different, but they will open you up to new ways of thinking.

You can change the default keymappings in all those IDEs to match Visual Studio, but I always tell developers switching to Java from C# to stay with the default. While IDEs all attempt to solve the same problem, they do it in different ways, and shoe-horning one IDEs keymappings into another never fits exactly right. The muscle-mappings take a little while to re-learn, but they come quickly enough.

Nathan Voxland
+16  A: 

It would really help if you would explain what Visual Studio features you feel are missing. I only have experience of Visual Studio + R# and Eclipse, but I've always felt Eclipse is way ahead of Visual Studio in many ways. I'd go so far as to say that it's only with ReSharper installed that Visual Studio really becomes properly usable. (Having said that, 2008 is a lot better than 2005. We've finally got a way to sort using directives and remove unused ones! Wahay! That feature's only been in Eclipse since... well, since it first came out, I suspect...)

You say you want "R#'s features and responsive Intellisense" - is Eclipse's Intellisense not working for you? I find it works extremely well! You can tweak things like how quickly it comes up in the settings page - is it possible that Visual Studio's settings are just more "aggressive" which has come over as making it more responsive?

What I would say is that the visual styles are just different enough to induce cognitive dissonance - and that can often make one feel "archaic" compared with the other. In my experience this can work both ways, depending on what you've been using heavily most recently.

One plus for Visual Studio: I find its debugger much easier to use than Eclipse's. The Watch window is just "click and start typing" for instance. It doesn't help that I've never managed to learn the keys for Eclipse's debugger. You can tell I'm not a debugger person, really, can't you?

EDIT: There are lots of Eclipse keyboard cheat sheets. From the search, I like this PDF, this shorter list, and this list with more explanations.

Jon Skeet
I have no doubt that eclipse is superior than visual studio but the transforming curve from visual studio to java IDE is too steep for me. Can u list/link the most often key board short cuts in eclipse?
suhair
I'll try to find a useful cheat sheet. When you find something on a menu though, it usually lists the keyboard shortcut. You could easily write a list of the things *you* use most often.
Jon Skeet
Simple way to get list of shortcuts available at given moment is CTRL-SHIFT-L (in Eclipse)
Peter Štibraný
Jon - F5 to execute a single step, F6 to step over a line of code, F7 to get the heck out of a method that you don't want to read (and return to its caller), and F8 to go to the next breakpoint or continue - CTRL + SHIFT + I to inspect a variable, right click a variable in the variables view...
MetroidFan2002
and click "Change Value" and you can change its value to whatever you want it to be - I think that's all you really need to know about Eclipse's debugging keys, though there are more.
MetroidFan2002
+2  A: 

I did five years of .NET work and then switched to Java, and found I disliked most of the IDEs as well- especially Eclipse, which IMHO is a royal pain and is only popular because some people have been using for it for years.

I finally tried IntelliJ and decided to buy it. There are a lot of things I could fault with IntelliJ. With larger projects, it spends what feels like hours analyzing code on startup, and when it detects a change (which can happen under certain cirumstances when you clean your project). During this time you can't use the editor. It also would crash for a period of a month, although after sending five different stack dumps to JetBrains the issue was finally fixed in a new release.

But compared to Eclipse, I'm willing to work with it. The issues I had with Eclipse never seemed as large as the few I've had with IntelliJ, but they were always annoying and took a lot of time to tweak and fix. There also seemed to be a lot of them, happening all the time, and it made me feel like the IDE was never stable. It seemed far too easy to screw up the work environment and make Eclipse simply not work. This is all subjective of course, but other members of my team had similar problems- we could never quite blame Eclipse flat out for not working, yet we seeemed to have to spend about a day or so every couple of months totally reinstalling it because the delicate balance of plugins was somehow disrupted and the thing would just not work how we wanted it too.

Some members of my team use Net Beans now. I've only played with a bit, so I can't put it down.

But in summary, I prefer IntelliJ. There are a lot of really neat re-factoring tools included with it, and the editor has these "facets" which detect what kind of project you're working on (for example, if it uses GWT or Struts) and can detect a lot of mistakes that normally aren't discovered until runtime and notify you in the IDE with warnings. Installing Plugins is a breeze.

Finally, IntelliJ looks the most like Visual Studio of any of the Java editors. The way it organizes project files is also somewhat similar with analogous concepts to Solution and Project files (especially compared to Eclipse or Netbeans ). I also think it has the nicest key bindings of any IDE I've ever used.

+1  A: 

I know this thread is old but no one mentioned it.. Why not download and use Visual Studio 2005 Express Edition or buy Visual Studio 2005 Professional because they have Visual J# - Visual Java that's made to work in the .Net framework. Just like Visual Basic or Visual C# you can make Java applications and still use the Visual Studio style you already know you like.

John Phoenix
A: 

not sure if I'm supposed to comment using this but the "best" answer selected there is extremely biased - especially the links provided in the post.

"I've never had performance problems with Eclipse" is not exactly an objective comparison. Someone can too say "I've never had trouble using Netbeans, or Visual Studio".

I like Eclipse, but I have to say it is quite slow...

I'd recommend that you stay away from NetBeans - it's one of the worst IDEs, simply blows my mind that Sun can come up with someone that hideous, given that Eclipse has been available for many years before NetBeans.