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.
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
- Mars - http://download.eclipse.org/releases/mars
- Programming Languages
- C/C++ Call Graph Visualization
- C/C++ Development Tools SDK
- C/C++ Library API Documentation Hover Help
- C/C++ Unit Testing Support
- Programming Languages
Theme
- Jeeeyul's Eclipse Themes 2.2 - http://eclipse.jeeeyul.net/update/
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:Oomph
- Eclipse:CDT
- Eclipse:ConfigurationSetting: How to use: configuring the environment before using Eclipse.
- Eclipse:PluginDevelop: About developing Eclipse plug-ins.
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.
Keyboard shortcut
- [http://eclipse-tools.sourceforge.net/Keyboard_shortcuts_(3.0.pdf Sourceforge Eclipse-Tools project] 1
- ShortcutWorld.com: Eclipse Shortcuts
- Eclipse shortcut keys explained
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.
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?
- http://stackoverflow.com/questions/5849294/how-do-i-upgrade-eclipse-classic-to-java-ee
- http://wiki.eclipse.org/WTP_FAQ#How_do_I_install_WTP.3F
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 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.
Troubleshooting
EnclosingASTNameJob
- Why is the Eclipse IDE getting slower?
- Eclipse-cdt to index my C++ code only
- Eclipse extremely slow, Code::Blocks has bad autocomplete; VS the best IDE?
- Eclipse very slow, any way to speed things up ?
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.
See also
- Gitpod - An open-source remote development platform.
Favorite site
- Eclipse homepage
- Wikipedia (en) page on Eclipse
- How to represent an application as a sequence diagram in Eclipse (installing TPTP)
- AmaterasUML is an Eclipse plug-in for drawing UML class-diagram, and UML sequence-diagram
- Setting up a Proxy for Android development in Eclipse 2
- The Eclipse OpenGL Pack is an Eclipse PlugIn that provides an easy-to-use way to develop and deploy OpenGL-enhanced Java applications within the Eclipse IDE
- 5 Best Eclipse Plugins: #1 (Eclox with Doxygen, Graphviz and Mscgen)
- Introduction to Eclipse and Eclipse packages
- Eclipsepedia: CDT/User/FAQ 3
- [Recommended] Debugging Highly Complex Applications (Eclipse CDT Plugin: Multicore Visualizer)
C++ Unit Test
- Tutorial: How to try C/C++ Tests Runner for Eclipse CDT
- Eclipse Juno has landed with unit testing support for C++
Essential Eclipse Plugin
- Essential Eclipse plugins 4
- Boost source code quality with Eclipse plugins
- Plugins to install after installing Eclipse
References
- Android Development Tools
- Android:NDK
- Android:Troubleshooting
- Beekeeper Studio
- Cocos2dx:Android
- Database
- DBeaver
- DbGate
- Eclipse Che
- Eclipse Theia IDE
- Eclipse:CDT
- Eclipse:ConfigurationSetting
- Eclipse:Oomph
- Eclipse:PluginDevelop
- EGit
- Entity–relationship model
- Git
- Google Java Developer Tools
- Graphical user interface
- Integrated Development Environment
- IntelliJ IDEA
- Java
- Mockup
- Nullsoft Scriptable Install System
- Ogre3d
- Pair programming
- Programming
- Programming:Basic
- Saros
- Sequoyah
- Slashbase
- Software engineering
- Source code editor
- VirtualBox
- Web development