Monday, 21 April 2014

10 ideas to improve Eclipse IDE usability

Few years ago, we had a mini IDE war inside our office. It happened between Eclipse and Netbeans supporters. Fortunately, we did not have IntelliJ supporter. Each side tried their best to convince people from the other side to use their favourite IDE.

On that war, I am the Eclipse hardcore supporter and I had a hard time fighting Netbeans team. Not as I expected, we end up on the defence side more often than attack. Look at what Netbeans offers, it is quite interesting for me to see how far Netbeans has improved and how Eclipse is getting slower and more difficult to use nowadays than in the past.

Let I share my experience on that mini war and my point of view on how Eclipse should be improved to keep its competitive edge.

What is the benefit of using Netbeans

For a long time and even up to now, Eclipse is still the dominant IDE in the market. But this did not happened before Eclipse 3.0, which was released in 2004. From there, Eclipse simply dominates the market share of Java IDE for the next decade. Even the C/C++ and Php folks also built their IDE plugin on top of Eclipse.

However, things is getting less rosy now. Eclipse is still good, but not that much better than its competitors any more. IntelliJ is a commercial IDE and we will not compare it to Eclipse in this article. The other and more serious competitor is Netbeans. I myself have tried Netbeans, compared it to Eclipse 3.0 and never came back. But the Netbeans that Eclipse is fighting now and the Netbeans that I have tried are simply too different. It is much faster, more stable, configurable and easier to use than I have known.

The key points of using Netbeans are the usability and first class support from Sun/Oracle for new Java features. It may not be very appealing to Eclipse veteran like myself but for a starter, it is a great advantage. Like any other wars in the technology worlds, Eclipse and Netbeans keep copying each other features for so long that it is very hard to find something that one IDE can do and the other one cannot. To consider the preferred IDE, what really matter is how things are done rather than what can be done.

Regarding usability, I feel Eclipse failed to keep the competitive edge it once had against Netbeans. Eclipse interface is still very flexible and easy to customize but the recent plugins are not so well implemented and error prone (I am thinking of Maven, Git support). Eclipse market is still great but lots of plugins are not so well tested and may create performance or stability issue. Moreover, careless release (Juno 4.0) made Eclipse slow and hangup often. I did not recalled restarting Eclipse in the past but that happened to me once or twice a month now (I am using Eclipse Kepler 4.3).

Plus, Eclipse did not fixed some of the discomforts that I have encountered from early day and I still need to bring along all the favourite plugins to help me ease the pain.

What I expect from Eclipse

There are lots of things I want Eclipse to have but never see from release note. Let share some thoughts:

1. Warn me before I open a big file rather than hang up

I guess this happen to most of us. My preferred view is the Package Explorer rather than Project Explorer or Navigator but it does not matter. When I search a file by Ctrl + Shift + R or left click on the file in Explorer, Eclipse will just open the file in Editor. If the file is a huge size XML file? Eclipse hangup and show me the content one minute later or I get frustrated and kill the process. Both are bad outcomes.



2. Have a single Import/Export configuration endpoint

For who does not know, Eclipse allow you to import/export Eclipse configuration to a file. When I first download a new release of Eclipse, there are few steps that I always do

  • Import -> Install -> From Existing Installation: This step help me to copy all my favourite features and plugins from old Eclipse to new Eclipse.
  • Modify Xms, Xmx in eclipse.ini
  • Import Formatter (from exported file)
  • Import Shortkey (from exported file)
  • Configure Installed JREs to point to local JDK
  • Configure Server Runtime and create Server.
  • Disable useless Validators
  • Register svn repository
  • And some other minor tasks that I cannot remember now...
Why don't make it simpler like Chrome installation when new Eclipse can copy whatever settings that I have done on the old Eclipse?



3. Stop building or refreshing the whole workspace

It happened to me and some of the folks here that I have hundred projects in my workspace. The common practice in our workplace is workspace per repository. To manage things, we create more than 10 Working Sets and constantly switch among them when moving to new task.

For us, having Eclipse building, refreshing, scanning the whole workspace is so painful that whether we keep closing projects or sometimes, create a smaller workspace. But can Eclipse allow me to configure scanning Working Set rather than Workspace? Working Set is all what I care.

Plus, sometimes, Ctrl + Shift + R and Ctrl + Shift + T does not reflect my active Working Set and not many people notice the small arrow on the top right of the dialogue to select this.


4. Stop indexing by Git and Maven repository by default

Eclipse is nice, it helps us to index Maven and Git repository so that we can work faster later. But not all the time I open Eclipse to work with Maven or Git. Can these plugins be less resource consuming and let me trigger the indexing process when I want?

5. Give me process id for any server or application that I have launched

This must be a very simple task but I do not know why Eclipse don't do it. It is even more helpful if Eclipse can provide the memory usage of each process and Eclipse itself. I would like to have a new views that tracking all running process (similar to Debug View) but with process id and memory usage.

6. Implement Open File Explorer and Console here

I bet that most of us use console often when we do coding, whether for Vi, Maven or Git command. However, Eclipse does not give us this feature and we need to install additional plugin to get it.



7. Improve the Editor 

I often install AnyEdit plugin because it offer many important features that I found hard to live without like converting, sorting,...

These features are so crucial that they should be packaged together with Eclipse distribution rather than in a plugin.


8. Stop showing nonsense warning and suggestion

Have any of you build a project without a single yellow colour warning? I did that in the past, but let often now.

For example, Eclipse asked me to introduce serialVersionUID because my Exception implements Serializable interface. But seriously, how many Java classes implement Serializable? Do we need to do this for every of them?

9. Provide me short keys for the re-factoring tools that I always use

Some folks like to type and seeing IDE dependent as a sin. I am on the opposite side. Whatever things can be done by IDE should be done by IDE. Developer is there to think rather than type. It means that I use lots of Eclipse short-keys and re-factoring tool like

  • Right click -> Surround With
  • Right click -> Refactor
  • Right click -> Source
Some of most common short keys I use everyday are Ctrl + O, Alt + Shift + L, Alt + Shift + M, Ctrl + Shift + F,... and I would like to have more. Eclipse allows me to define my own short keys but I would like it to be part of Eclipse distribution so that I can use them on other boxes as well. 

From my personal experience, some tools that worth having a short key are
  • Generate Getters and Setters
  • Generate Constructor using Fields
  • Generate toString()
  • Extract Interface
  • ...
I also want Eclipse to be more aggressive in defining Templates for Java Editor. Most of use are familiar with well-known Template like sysout, syserr, switch, why don't we have more for log, toString(), hashCode(), while true,...

10. Make the error messages easier to read by beginner

I have answered many Eclipse questions regarding some common errors because developers cannot figure out what the error message means. Let give few examples:

A developer uses command "mvn eclipse:eclipse". This command generates project classpath file and effectively disable Workspace Resolution. Later, he want to fix things by Update Project Configuration and encounter an error like below (if you want to understand this further, can take a look at the last part of my Maven series)



Who understand that? The real problem is the m2e plugin fail to recognize some entries populated by Maven and the solution is to delete all Eclipse files and import Maven project again.

Another well-known issue is the error message on pom editor due to m2e does not recognize Maven plugin. It is very confusing for newbie to see this kind of errors.

Conclusion

These are my thoughts and I wish Eclipse will grant my wishes some days. Do you have anything to share with us about how you want Eclipse to improve?

51 comments:

  1. Replies
    1. IEEE Final Year Project centers make amazing deep learning final year projects ideas for final year students Final Year Projects for CSE to training and develop their deep learning experience and talents.

      IEEE Final Year projects Project Centers in India are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation.

      corporate training in chennai corporate training in chennai

      corporate training companies in india corporate training companies in india

      corporate training companies in chennai corporate training companies in chennai

      I have read your blog its very attractive and impressive. I like it your blog. Digital Marketing Company in Chennai

      Delete
  2. Thanks for sharing great info … Hiring a limousine are excellent option to make your special occasion more delightful. Limo Hire MelbourneHummer Hire Melbourne.

    ReplyDelete
  3. Looking for best TNPSC study materials to prepare for the examination? Make use of our samacheer kalvi books and other study guide to learn from experts. TNPSC One Time Registration

    ReplyDelete
  4. Interesting information and attractive.This blog is really rocking... Yes, the post is very interesting and I really like it. melbourne limo hire | black limousine hire

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Great info… Thanks for sharing Mayas Hummer Hire Melbourne offer professional limo rental service at affordable price. Hummer Hire Melbourne Prices.

    ReplyDelete
  7. Thanks for sharing excellent article. Limousine king offer luxury Limo Hire Frankston at affordable price. We always committed to treat you like royalty. Limo Hire Mornington Peninsula

    ReplyDelete
  8. Great Info. Very useful to everyone and thanks for sharing this information.
    Pest Control Melbourne | Termite Control Melbourne

    ReplyDelete
  9. Thanks for sharing thsi information. Nice to see your blog. I like it your blog.
    Buy Country Chicken | Nattu Kozhi Valarpu

    ReplyDelete
  10. Great Information. Thanks for sharing this valuable message for us.
    Roadworthy Certificate | Car Mechanic

    ReplyDelete
  11. Great job. I would like to thank for the efforts you have posting this valuable information.
    corbin seats | suzuki bandit 1250

    ReplyDelete
  12. Thanks for sharing an informative blog. keep updating the valuable information. Very useful to everyone.
    Study in Australia | Education Consultant Australia

    ReplyDelete
  13. CBD Florist offers sweet deal for everyone. Same Day & Mid Night Delivery Available at Valentines Day. Order Online Now. Happy Valentines Day.
    Valentines Day Flowers | Mothers Day Flowers

    ReplyDelete
  14. Thanks for sharing valuable article. Southstar Asbestos Removals are licensed Class B asbestos removal in Melbourne.
    Asbestos Clearance CertificatesDemolition Services Melbourne

    ReplyDelete
  15. I like your post you have posting on your site. I would like to share this with my friends on all my social media. Thanks for sharing such an informative content.
    Car Window Tinting Melbourne | Window Tinting Melbourne

    ReplyDelete
  16. Thanks for Sharing. Looking for best car service station to get your car repaired? Hawthorn Automotive Improvements will be the ideal option to get your car fixed by the professionals. For more information about Car service and car repairs visit: Car Service Hawthorn | Car mechanic Hawthorn

    ReplyDelete
  17. Thanks for sharing information. It is very helpful for us.
    Jathikai
    Flax Seeds in Tamil
    Mathi Meen

    ReplyDelete
  18. Thanks for the information. Looking for Car service Cranbourne Contact Singh's Tyre & Auto Cranbourne West with expert Auto Electrician Cranbourne

    ReplyDelete
  19. Thanks for sharing useful article. Northside Window Tinting offer Car Window Tinting Melbourne at affordable price. We always committed to treat you like royalty.
    Gtechniq | Tint a Car

    ReplyDelete
  20. Thanks for Posting the great information. Automotive Exerts are well experience shows me that lpg conversion was beneficial.
    LPG Conversion Melbourne | LPG Service Melbourne

    ReplyDelete
  21. It is actually a great and helpful piece of information about Java. I am satisfied that you simply shared this helpful information with us. Please stay us informed like this. Thanks for sharing.
    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete
  22. Thanks for Posting the great information. Automotive Exerts are well experience shows me that lpg conversion was beneficial.

    'SSK Law Firm
    Criminal Lawyers in Chennai
    Bail Lawyers in Chennai
    Lawyers in Chennai
    Lawyers in Chennai'

    ReplyDelete
  23. This comment has been removed by the author.

    ReplyDelete
  24. Good article! Thanks for sharing buy best laptops at Sovarup, a website for computers in melbourne

    ReplyDelete
  25. Really amazing information, thanks for sharing this valuable information with us. Visit Ogen Infosystem for the best website designing services and PPC Services at an affordable price.
    Top 5 Website Designing Company in India

    ReplyDelete
  26. Great Content & Thanks For Sharing With oflox. Do You Want To Know How To Make Money From Mitron App

    ReplyDelete
  27. Welcome to Footballilse. Are you a true football, movies and music fan and looking to buy authentic souvenirs and gifts? Look no further than Football Ilse. We offer the best authentic products to any corner of the world. All our products are licensed and sourced from authentic manufacturers around the globe. Football Ilse offers wide range of authentic licensed signed shirts, keyrings, badges, scarves, soccerstarz, signed shirts, movies, music and football accessories to the football fans around the globe. Shop Now!

    ReplyDelete
  28. Kristen Ashleey is an Author, blogger, and one of the exceptional writers specialized in health and medical sector & also write about profile content. She is one of the founders of Online Health Mantra – the first ever healthcare platform ensuring health services reaching at every individual level.

    ReplyDelete
  29. Great content & Thanks for sharing with uttar pradesh's YouTuber ibrahim 420

    ReplyDelete
  30. Hi My Name is Maria Hayden & I am technical blogger at Get Human Help, I majorly writes and shares blogs on troubleshooting tips for routers, printers, antivirus, emails, Operating Systems, and others. Related Blogs - Why Is My Comcast Email Not Working?What to do to fix Yahoo Mail Not Syncing With Gmail?, How to fix Yahoo mail not loading on iPhone?How Do I Talk To A Live Person At Verizon AT&T?, How To Fix Bellsouth Not Working In Android?, How can I Reset Charter Spectrum Email Password?

    ReplyDelete
  31. Hi I am very happy to look this valuable informative car rental melbourne airport

    ReplyDelete
  32. Hi My Name is Mary Thomas& I am technical blogger at Get Human Help, I majorly writes and shares blogs on troubleshooting tips for routers, printers, antivirus, emails, Operating Systems, and others.
    Related Blogs -
    How can I Reset Charter Spectrum Email Password?
    How To Fix Bellsouth Not Working In Android?
    Eliminate Yahoo Mail error code 80040902 with the easy steps!
    Know the ways to terminate HP Printer error 49.4c02

    ReplyDelete
  33. How to Talk To a Live Person at AT&T?
    If you don't know How to Talk To a Live Person at AT&T, follow the steps mentioned here. First of all, you are supposed to call Verizon's service number at 1-800-922-0204, and when the automated system begins talking, you need to press 0. The automated system will ask you why you're calling. Press zero again. Enter your account PID and press # to get a live person at AT&T.
    Related Blogs –
    Guide to Recover a Disabled Facebook Account
    A Definite Guide to Perform Facebook Account Recovery
    How To Contact a Live Person at Facebook?
    How Can I Speak to a Live Person at Apple?
    How To Talk To a Live Person at PayPal Customer Service?

    ReplyDelete
  34. Hi This is amazing I got so many useful informative in this blog Tailshaft Repairs Melbourne

    ReplyDelete
  35. What Can I Do To Fix Bellsouth Email Login Problems?
    If you are struggling with Bellsouth email login problems, then, first of all, you should check your internet connection. At times, your browser can also create issues, so consider using an optimized one. There are possibilities that your Antivirus software might be hindering Bellsouth. If the issue is related to the login credentials of the Bellsouth account, make sure you enter the credentials carefully. Also, check the Bellsouth server status by going to DownDetector.com. If you experience Bellsouth login issues because of your email client, then check your configuration settings to avoid such issues.
    Related Blogs -
    Verizon Login Problems
    Comcast Email Login Problems
    Yahoo Mail is Not Receiving Emails
    Yahoo POP Mail Not Working
    AOL Mail Not Receiving Emails
    Gmail not receiving emails

    ReplyDelete
  36. How to troubleshoot Yahoo not receiving emails?
    Yahoo is known for its rapid services, but there are times when Yahoo stops receiving mails. There could be several reasons for the issue. First of all, check your internet connection as this could be one of the reasons for the problem. Check your spam folder and see if the expected mail ended there. There are possibilities that you are not receiving mail from a particular recipient because you have blocked their address. Hence check your blocked addresses by going to the Privacy section to get the Yahoo not receiving emails issue fixed.
    Related Blogs -
    Yahoo Mail Problems on iPhone
    Yahoo Mail Not Syncing on Android
    How To Block Email on Yahoo
    Recover Permanently Deleted Emails From Yahoo
    Yahoo mail signing in problems
    Setup Yahoo Mail on Android

    ReplyDelete
  37. Thank you for sharing the ideas to improve Eclipse IDE Usability. It is quite informative and helpful. If you are looking to solve att email issues, then Open your AT&T Mail in a different web browser. For example, if you normally use Google Chrome, try Firefox. Verify that your browser accepts cookies. Then, clear your cookies and cache. You’ll find this info in your browser's Preferences, Settings, or Options menu. Enable JavaScript, and make sure it’s up to date. You’ll find it in your browser settings or options. Disable browser tools or add-ons to see if they’re causing issues with email access. To resolve ATT Email not Working, enable Adobe Flash Player, and make sure it’s up to date.

    ReplyDelete
  38. Thanks for sharing the information. I like your blog. Open Yahoo Mail and tap on the Yahoo Mail app icon. Now, tap on the three-dot menu that is available in the top-left corner of the screen or the search bar. To change Yahoo password, Tap on Manage Accounts. Search your account name in the signed-in account list that appears on your screen. Now, tap on Account info that is a link just below the name of the account. Then tap on Security Settings. Now enter the password. After that, tap on Change Password. Now tap on ‘I would rather change my password’. Create a new password in the ‘New Password’ text field and then re-type on the password field. Tap on Continue to change your Yahoo mail password.

    ReplyDelete
  39. If you want to proceed with Yahoo Account Recovery without a phone number and recovery mail, you are supposed to first go to the Yahoo Login Page and then enter your email address. Now, you are supposed to click on the Next button, and then when it asks for your password, you should click on the 'I forgot my password option.' Now, it will try to verify the missing digits of your mobile number and then click on the 'No, I don't know the digits' option. Check out the steps for Yahoo Account recovery instantly.

    ReplyDelete
  40. Who is the best Social Media Marketing Expert in Meerut?

    Rashmi Rathi at Techdost Services Private Limited is the best Social Media Marketing Expert in Meerut delivering high-quality, reliable and trustworthy social media marketing services in Meerut. Contact a leading social media marketing expert in Meerut, Rashmi Rathi.
    Social Media Marketing Expert in Meerut

    Who is the best Android App Developer in Meerut?

    Sandeep Sharma at Techdost Services Private Limited is a leading and renowned Android App Developer in Meerut delivering high-quality Android app development services all over Meerut, India.
    Contact at +91-7500996633 or Mail us at Info@techdost.com
    Android App Developer in Meerut
    Android App Developer in Meerut

    ReplyDelete
  41. How to Install TurboTax Program Using the CD Drive?
    TurboTax is even though one of the best-ever tax-filing PC program and easy to install, yet, some users have been confused over how to install TurboTax with CD. So if you’re not able to install the program on your own using the CD drive, you can download the TurboTax program from the official website and install it on your PC.

    ReplyDelete
  42. How to Troubleshoot TurboTax Not working on Mac?
    The issue of TurboTax not working on Mac can be occurred due to several reasons – one is the program not being installed properly on Mac. What you do is uninstall the currently installed program and install it one again to see if you’re able to open.  If any help is needed, you can get in touch with our technical expert team.

    ReplyDelete