Skip to content
Search

Eclipse

lastmod 2024-11-06created 2014-01-0563 edits

Eclipse runs on many platforms. It started out as an integrated development environment for programming that supports many languages, including Java, but by adopting OSGi it has since evolved into a general-purpose application software platform.

It is written in Java and, although it is free software, it boasts powerful features. It won the Jolt Award in 2004 and 2005. Some say the name Eclipse, meaning an eclipse, was chosen with Sun, the name of the company that developed Java, in mind, and this was one of the reasons Sun Microsystems did not join the Eclipse Foundation in 2003; however, in his keynote at EclipseCon 2005, Lee Nackman said the name was originally aimed at Microsoft and the Visual Studio ecosystem. It was originally developed under the name IBM WebSpheare Studio Application Developer; its engine was released as open source, and that grew into today's Eclipse. Various distributions exist for different purposes (for C/C++ developers, Java developers, web developers, and so on).

First setting

Below is a list of settings to change and improve after first installing Eclipse.

First, change the initial and maximum HEAP size. In the eclipse.ini file, under -vmargs, edit as follows.

-XX:MaxPermSize=512m
-Xms512m
-Xmx2048m

Perference

  • General
    • Always run in background: Tasks that require waiting run in the Background.
    • Keep next/previous editor, view and perspectives dialog open: Keeps the next/previous state of the Editor, View, and Perspectives.
    • Show heap status: Lets you check the HEAP information Eclipse is using.

C/C++ Language Support

Theme

Perspective

  • Window > Perspective > Customize Perspective
    • Action Set Availability tab > Available action sets: select Editor Presentation.
    • Tool bar Visibility tab > Tool bar Structure: select Editor Presentation > Toggle Block Selection.

Category

Eclipse INI

  • -Xverify:none: Skips class verification. Shortens Eclipse startup time.
  • -XX:+UseParallelGC: Uses the Parallel Collector. Parallel garbage collection.
  • -XX:-UseConcMarkSweepGC: Performs concurrent mark-sweep GC to handle GUI response speed.
  • -XX:PermSize=32M: Default memory for Eclipse class loading.
  • -XX:MaxPermSize=128M: Maximum memory for Eclipse class loading.
  • -XX:NewSize=32M: Minimum area loaded when new objects are created in the JVM.
  • -XX:MaxNewSize=32M: Maximum area loaded when new objects are created in the JVM.
  • -Xms256m: Minimum HEAP memory when running Eclipse.
  • -Xmx256m: Maximum HEAP memory when running Eclipse.

Eclipse Heap size

You have probably often run into system overload or memory shortages while using Eclipse. This happens because of the memory areas the JVM uses. The JVM manages memory by dividing it into the Heap and PermGen areas. The JVM's general execution area is the Heap area, and the PermGen area manages class metadata. So increasing the JVM's Heap and PermGen areas lets you work more smoothly than before. If you open eclipse.ini, you can find Xms1024m and Xmx1024m under vmargs. Xms1024m is the initial size of the Heap area, and Xmx1024m is its maximum size. Note that the maximum Heap size must be equal to or greater than the initial Heap size. If the maximum size is smaller, the system may become overloaded.

In Eclipse, select the following to see it in the status bar at the bottom.

Window > Preferances > Genaral > Show heap status

Keyboard shortcut

A summary of the shortcut keys available in Eclipse.

  • Ctrl + Shift + v: Paste by choosing from the clipboard history.
  • Ctrl + F11: Run.
  • F11: Debug.
  • Shift + Ctrl + O: Automatically imports the packages the current file needs.
  • Shift + Ctrl + F: Automatic code formatting through CheckStyle.
  • Shift + Ctrl + T: Type open.
  • Ctrl + O: Method open.
  • ALT + SHIFT + A: Block selection (allows vertical selection)
  • Shift + Ctrl + E: Select an editor to switch (choose the file to edit)

x11 forwarding

Preferences

A summary of preference settings and a list of them.

  • Code folding: In General > Editors > Structured Text Editors, on the Apperance tab, select Enable folding.
  • C/C++ code folding: In C/C++ > Editor > Folding > Enable, select Enable folding when opening a new editor.

Formatting

Section disable formatting

To turn formatting OFF for a specific section only, add comments as follows.

// @formatter:off
...
// @formatter:on

However, this feature only works in JDT for Eclipse 3.6 and later.

Plugins

Eclox
Eclox is a plugin which integrates Doxygen (and all above tools) into Eclipse and makes it really easy to use.
See Doxygen, Graphviz, Mscgen
LLVM4EclipseCDT (2014-02-16)
WindowsBuilder
is a powerful and easy to use bi-directional Java GUI designer
PyDev
PyDev is a Python IDE for Eclipse, which may be used in Python, Jython and IronPython development.
XPairtise
A Distributed Pair Programming Plug-in For Eclipse
Test & Performance Tools Platform (TPTP)
The Test & Performance Tools Platform (TPTP) is an Eclipse tool used to profile plug-ins of the IDE that may run on different platforms.
Amateras UML
Subclipse
subversion for eclipse.
Android Development Tools (ADT)
Eclipse Android development tools.
Eclipse-ERD
Eclipse ERD Plugin.
AmaterasERD
Eclipse ERD Plugin.
JGit/EGit
JGit and EGit are implementations of the Git SCM (by King Penguin) in Java.
Sequoyah
Plugin for mobile development.
ObjectAid
Eclipse plugin that automatically generates UML Diagrams.
Google Java Developer Tools
Tools for Google Java developers.
CheckStyle
http://eclipse-cs.sourceforge.net/update/
Coding standard analysis
Coverlipse
http://coverlipse.sf.net/update
Code coverage testing
CPD
http://pmd.sourceforge.net/eclipse/
Copy/Paste detection
JDepend
http://andrei.gmxhome.de/eclipse/
Package dependency analysis
Metrics
http://metrics.sourceforge.net/update
Complexity monitoring

Theme

Jeeeyul's Eclipse Themes 2.2
http://eclipse.jeeeyul.net/update/
Download site: https://github.com/jeeeyul/jeeeyul.github.io/releases
Local download: Jeeeyul.github.io-themes-v2.1.7.tar.gz

Remove Plugins

To remove a plugin: Run Help > About Eclipse > Installation Details, select the software you no longer want and click Uninstall. (On Macintosh it is Eclipse > About Eclipse > Installation Details)

How do I upgrade Eclipse Classic to Java EE?

I want to develop HTML5 websites. I have already installed Java for Android development. I have Eclipse Classic 3.6 installed on my machine. Now I wish to have Java EE on the same machine. Is it possible? If so, let me know how to upgrade Eclipse Classic 3.6 to the Java EE development environment.

즉, Eclipse classic IDE를 Eclipse Java EE IDE로 업그레이드 하는 방법은?
  • Eclipse menu > Help > "Install new software"
  • Then in the work with: "Indigo - http://download.eclipse.org/releases/indigo" (or your eclipse version)
  • Then choose: Web, XML, Java EE and OSGi ...
  • Then select: Eclipse Java EE Developer Tools

Eclipse Source Attach

This feature attaches Source to a JAR library. For Android, set up source attach the same way as for any other Java project.

Project Properties > Java Build Path > [해당 JAR 펼치기] > Source Attachment > Edit

Troubleshooting

EnclosingASTNameJob

While using Eclipse, it slows down as the text "EnclosingASTNameJob" appears at the bottom right.

Eclipse Indexer don't work

The following error message appears.

An internal error occurred during: "C/C++ Indexer".
org.eclipse.cdt.internal.core.pdom.PDOMProxy cannot be cast to org.eclipse.cdt.internal.core.index.IWritableIndexFragment

In this case, fix it as follows.

Menu > Window > Preferences > C/C++ > Indexer > Enable indexer > 체크 해제

See also

  • Gitpod - An open-source remote development platform.

Favorite site

C++ Unit Test

Essential Eclipse Plugin

References


  1. Eclipse-tools-keyboard_shortcuts_3.0.pdf ↩

  2. Eclipse_proxy_setting.pdf ↩

  3. CDT_User_FAQ_-_Eclipsepedia.pdf ↩

  4. Essential_eclipse_plugin.pdf ↩

author Zer0 sitemap