Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any way to group methods in Java/Eclipse?

I would like to be able to group similar methods and have them appear in my Outline view in Eclipse. This makes navigating large swaths of code a little easier on the eye, and easier to find methods you need. In Objective-C there was a pragma mark command that you could set.

Anything like that for java/eclipse?

like image 473
Sheehan Alam Avatar asked Aug 28 '10 01:08

Sheehan Alam


3 Answers

I use the Coffee Bytes plugin for code folding, specifically configuring it for folding code that has start and end tags.

Although the plugin is not downloadable off the page listed on the Google Code page, it has been recompiled against Eclipse 3.5 and made available elsewhere; the version appears to work against Eclipse 3.6 and 3.7 as well. It is also available in the Yoxos marketplace.

I use the following notation to group getters and setters of properties along with declaration of the property, although the same notation could be extended for your use.

// {{ Id
private String id;

public String getId() {
    return id;
}

public void setId(final String id) {
    this.id = id;
}
// }}

Configuration of the same needs to be done by setting appropriate preference in the code folding section available via Windows > Preferences > Java > Editor > Folding. Remember to choose Coffee Bytes Java Folding, and enable support for User Defined Regions.

Although the support for grouping/folding is restricted to the editor, the natural order of the methods within the fold can be retain in the outline view. I'm afraid that I'm unaware of any grouping capabilities beyond this plug-in.

like image 153
Vineet Reynolds Avatar answered Oct 16 '22 15:10

Vineet Reynolds


I really miss it from the days of Smalltalk.

The best way to denote these categories would be adding annotations to the code itself. You would then need to create a specialized outline view which uses these annotations. Sounds like a good Google Summer of Code project.

like image 35
zvikico Avatar answered Oct 16 '22 16:10

zvikico


To help with Vineet Reynolds answer, I would also like to offer this:

USAGE:

in User Defined Regions tab use e.g.:

Start identifier: region    
End identifier: endregion

In code:

//region SomeName
your code
//endregion SomeName

Installation instructions:

  1. Install plugin
  2. Unpack the downloaded file eclipse-folding-plugin.tar.gz
  3. Copy the contents of the:
  4. features folder => eclipse features folder
  5. plugins folder => eclipse plugins folder
  6. Configure plugin in Eclipse:
  7. Select "Windows->Preferences"
  8. Select "Java->Editor->Folding"
  9. Check the "Enable folding" option
  10. Select "Coffee Bytes Java Folding" in the "Select folding to use:" option
  11. Check "User Defined Regions" in the "General Fold Setting:" option

This is from: http://kosiara87.blogspot.com/2011/12/how-to-install-coffee-bytes-plugin-in.html

like image 43
Nissi Avatar answered Oct 16 '22 16:10

Nissi