Does Eclipse have a way to alphabetically sort lines within a selection of text?
Question
Similar to emacs' M-x sort-lines
Solution
Try this plugin for Eclipse:
http://marketplace.eclipse.org/content/emacs
If the above one doesn't do the job, try one of these ones:
http://marketplace.eclipse.org/search/apachesolr_search/emacs
OTHER TIPS
Yes, it does! There is a very simple plugin called SortIt that does exactly what you want. It adds a section in the Edit menu, through which you can do the following:
- Case Sensitive
- Case Insensitive
- Reverse Text
- Numeric Sort
- Length Sort
The plugin is source-code agnostic, and it treats whatever you sort as plain text. I find it especially useful when sorting .properties
files and setters/getters. For example, using the Case Sensitive sorting I sorted the following code:
msgHeader.setTotalGrossMass(content.getTotalGrossMass());
msgHeader.setReferenceNumber(content.getReferenceNumber());
msgHeader.setTransportModeAtBorder(content.getTransportModeAtBorder());
msgHeader.setCountryOfDestinationCode(content.getCountryOfDestinationCode());
msgHeader.setCountryOfDispatchExportCode(content.getCountryOfDispatch());
msgHeader.setDateOfAmendment(content.getDeclarationDate()); // TODO: correct?
msgHeader.setIdentityOfMeansOfTransportCrossingBorder(content.getIdentityMeansOfTransportCrossingBorder());
msgHeader.setManualEntryNumber(content.getManualEntryNumber());
msgHeader.setTotalNumberOfPackages(content.getTotalNumberOfPackages());
msgHeader.setAgreedLocationOfGoodsCode(content.getAgreedLocationCode());
msgHeader.setAgreedLocationOfGoodsLNG(content.getAgreedLoclOfGoodsLNG());
msgHeader.setManualEntryYear(content.getManualEntryYear());
msgHeader.setAgreedLocationOfGoods(content.getAgreedLocationCode());
msgHeader.setMethodOfPayment(content.getMethodOfPayment());
msgHeader.setNationalityOfMeansOfTransportCrossingBorder(content.getNationalityMeansOfTransportCrossingBorder());
msgHeader.setAmendmentPlace(content.getDeclarationPlace()); // TODO: correct?
msgHeader.setAmendmentPlaceLNG(content.getDeclarationPlaceLNG()); // TODO: correct?
msgHeader.setTotalNumberOfItems(content.getTotalNumberOfItems());
msgHeader.setAcceptanceDate(content.getAcceptanceDate());
... to this:
msgHeader.setAcceptanceDate(content.getAcceptanceDate());
msgHeader.setAgreedLocationOfGoods(content.getAgreedLocationCode());
msgHeader.setAgreedLocationOfGoodsCode(content.getAgreedLocationCode());
msgHeader.setAgreedLocationOfGoodsLNG(content.getAgreedLoclOfGoodsLNG());
msgHeader.setAmendmentPlace(content.getDeclarationPlace()); // TODO: correct?
msgHeader.setAmendmentPlaceLNG(content.getDeclarationPlaceLNG()); // TODO: correct?
msgHeader.setCountryOfDestinationCode(content.getCountryOfDestinationCode());
msgHeader.setCountryOfDispatchExportCode(content.getCountryOfDispatch());
msgHeader.setDateOfAmendment(content.getDeclarationDate()); // TODO: correct?
msgHeader.setIdentityOfMeansOfTransportCrossingBorder(content.getIdentityMeansOfTransportCrossingBorder());
msgHeader.setManualEntryNumber(content.getManualEntryNumber());
msgHeader.setManualEntryYear(content.getManualEntryYear());
msgHeader.setMethodOfPayment(content.getMethodOfPayment());
msgHeader.setNationalityOfMeansOfTransportCrossingBorder(content.getNationalityMeansOfTransportCrossingBorder());
msgHeader.setReferenceNumber(content.getReferenceNumber());
msgHeader.setTotalGrossMass(content.getTotalGrossMass());
msgHeader.setTotalNumberOfItems(content.getTotalNumberOfItems());
msgHeader.setTotalNumberOfPackages(content.getTotalNumberOfPackages());
msgHeader.setTransportModeAtBorder(content.getTransportModeAtBorder());
Horribly ugly website, but AnyEdit does sorting:
- Case sensitive
- Case insensitive
- Numerical
- Backward
- Forward
Try CTRL+ALT+S. Works for me with Kepler.
If it doesn't work, goto Help->Key Assist... and look for "Sort Lines"
EDIT: seems to work only in the C/C++ Editor and therefore probably comes with the CDT
With luna you can do this by "Source" -> "Organize Imports"
This works for every type of line, not just imports.
In Eclipse Kepler SR2 I can see an option under Source > Sort Members..
It works.
I also have AnyEdit installed.
If you are under Linux, simply use "cat file | sort". Under Windows, as a programmer, you should probably have cygwin installed anyways.