Make Eclipse Look and Work More Like Visual Studio!

Why Does It Matter?

Working at Kieran Timberlake's Research Group for the past six months, I had the opportunity to work with C# and Visual Studio 2013 creating Grasshopper 3D components with the intent for public release.

We did release [a small part] of my internal work at KT to the Food4Rhino app store. KT Tools for Grasshopper 3D can be found here. Feel free to check it out (and give it a positive review!)

My six months at KT went by so fast. Much was learned, whether it was personal or technical development. A terrific assessment was also given to me, which humbles me and makes my heart flutter. This is a topic I will address perhaps in another blog post. 

Using Visual Studio 2013 for six months, I fell in love with a lot of its features. When you use an IDE or language for a long time, you tend to get used to some of its idiosyncrasies, like its syntax highlighting colors, its whitespace formatting, or its code completion ala IntelliSense

Let me share with you how I made Eclipse both look and work more like Visual Studio.

The Visual Studio Color Theme

As previously described, it's easy to get used to certain colors or visuals that convey different information; the unique way our brain makes visual connections subconsciously to things you use daily. Coming back to Eclipse, of course, everything was entirely different to my muscle memory and brain.

First thing I did was change the color theme back to what I am used to.

 Install Eclipse Color Theme under the Eclipse Marketplace.

Install Eclipse Color Theme under the Eclipse Marketplace.

  1. In Eclipse -> Help -> Eclipse Marketplace, you want to download the Eclipse Color Themes plugin. 
  2. Download the Visual Studio 2010 theme made by Volodymyr.
  3. Import it under Preferences -> General -> Appearances -> Color Theme (this tree will only appear if you installed the Eclipse Color Theme plugin!)
  4. Restart Eclipse, and voila. Visual Studio-style syntax colors.
 Import the Visual Studio theme.

Import the Visual Studio theme.

Whitespace

You like whitespace, right? I like white space. I like knowing exactly where all my brackets are, because they are literally in their own line. I like that I can skim through my code really fast.

I don't like this:

 Lack of whitespace.

Lack of whitespace.

I really like this:

 Lack of lack-of whitespace.

Lack of lack-of whitespace.

Fortunately, my Yellow Belt in Google-fu landed me on the article Making Eclipse more like Visual Studio (deja vu). The author Daniel conveniently shares with us his Eclipse formatting configurations that you can directly import into Eclipse.

  1. Download the config here.
  2. Import the .xml file under Preferences -> Java -> Code Style -> Formatter
  3. Voila. Whitespace for your viewing and skimming pleasure.
 Import the whitespace XML file under the "Java -> Code Style -> Formatter" section.

Import the whitespace XML file under the "Java -> Code Style -> Formatter" section.

Lastly, the pièce de résistance of this article, and definitely something I feel happy about finding again.

IntelliSense

Intellisense is the fancy name for Visual Studio's code completion.

 Demonstrating Visual Studio's Intellisense.

Demonstrating Visual Studio's Intellisense.

IntelliSense, with its consideration to the visual identification of whether something is a property, a method, or more, alongside its code suggestions depending on what you have typed in, is a tool that once you've used for good while, it is impossible not to love.

Coming back to Eclipse (or more so, NetBeans, which is the IDE we used in Beginner Java), I was really thrown back at the lack of good, fast, helpful code completion. Eclipse was either too slow, or didn't suggest the right code depending on what you type, and just plain sucked.

So I did what any software developer would do - I Googled "eclipse intellisense". 

 User Tony from  StackOverflow  with the suggestion of using this string as autocomplete triggers for Java.

User Tony from StackOverflow with the suggestion of using this string as autocomplete triggers for Java.

Here's how to get IntelliSense-like Eclipsense working in Eclipse.

 Navigate to Java -> Editor -> Content Assist, and change the values under "Auto Activation".

Navigate to Java -> Editor -> Content Assist, and change the values under "Auto Activation".

  1. Navigate to Preferences -> Java -> Editor -> Content Assist
  2. Under "Auto Activation", you want to set "Auto activation delay (ms)" to "0", and set the "Auto activation triggers for Java" to:
    .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
  3. Click OK.

Ah.. Just like Visual Studio 2013..

 Other than the icon, one can barely tell the difference between this and Visual Studio.

Other than the icon, one can barely tell the difference between this and Visual Studio.

Having access to the JavaDocs while typing up your code is a God send. All the convenience of documentation without clunky keyboard shortcuts or hovering over methods or waiting for the code suggestion to pop up.

More IntelliSense-like Behavior

Visual Studio's IntelliSense also has string highlighting as you type, something that is not part of the stock behavior of Eclipse. To get this type of highlighting, I found Eclipse Code Recommenders in the Eclipse Marketplace.

 Install the Eclipse Code Recommenders for string highlighting as you type.

Install the Eclipse Code Recommenders for string highlighting as you type.

Simply download it from the Eclipse Marketplace. There's not much configuring needed; stock behavior of Code Recommenders is good enough.

 Auto-completion of the getGraphics() method if you type in "getG" and press "space". Also shown is the syntax highlighting feature. 

Auto-completion of the getGraphics() method if you type in "getG" and press "space". Also shown is the syntax highlighting feature. 

Wrap Up

This certainly isn't the end of this article.

As I find more ways to help myself make coding more convenient, I'll add to this article.

At this point, I can think of a myriad of ways for Eclipse to work and look more the way I want it to. On the top of my head, I would love to change the atrocious icon sets of Eclipse (seriously, bubble-like icons with bevel and emboss in the 21st century? YUCK!) to the descriptive icon sets of Visual Studio. 

 Verbose icons for methods, properties and variables and more.

Verbose icons for methods, properties and variables and more.

I have personally gotten used to how Visual Studio conveys whether a suggestion is a method, a property, a variable, or more.. For example, the wrench indicates a property, while the purple box is a method. So simple, but so descriptive. Further reading of VS' icons here

In a way, that's just a personal preference kind of thing. If you've been using Eclipse for a long time, I am sure you are more used to the way it visually indicates X Y or Z. All personal preference! 

Final Wrap Up

I followed a good deal of Visual Studio's development process in its blog. There were some serious UX considerations for its development. No offense to the Java IDE development team (likely other than IntelliJ), but considering how a user uses your product and designing/architecting around it is important as well. Basic UX and UI principles are easily learnable through a simple Google. It's inexcusable your interface looks like a 1990's mess!

Who is Jacky?

Jacky is a Bachelor of Science Computer Engineering and Computer Science Minor pre-Junior currently studying at a school in the East coast United States. He loves writing software, reading up on good user experience, and sharing his experience with whomever is willing to listen to his endless blabbering. Feel free to contact him via his contact form or connect at Github!