quick overview of eclipse features i use most often, Sandra is writing a document on how to install eclipse and how to get it to play nicely with casa because it's not intuitive

eclipse:
  • highly configurable ide written in java with a plugin architecture for user-supplied modules
  • practically any language which has been around for any length of time has an eclipse plugin
  • one can download a version of eclipse with the c++ plugin already installed http://www.eclipse.org/cdt/
  • there is also a python development plugin, PyDev, http://pydev.org/

layout

  • project explorer (left) - expandable/collapsable view of project tree
  • right panel contains outline of source file members etc, i find most useful the methods, which provide a one-click navigation to the corresponding declaration/implementation in the source.
  • bottom panel has tabs for output of useful features such call and type hierarchies.
  • lots of buttons along the top that I never use

immediately obvious features
  • syntax colorization (highly configurable)
  • variable highlighting
  • immediate feedback for syntax errors, method call errors, etc => minimal cost involved to fix these because can fix before compiler gets them
  • hover over methods, variables etc to get definitions/declarations. click to grab focus for scrollability
  • method completion available by typing variable name and "." (or "->" if pointer or "::" if class name) and waiting a second or two for a list of possible methods to pop up. Can filter these farther by minimal match.

right click on a variable/method/etc for many options, including code navigation and inspection:
  • Navigate to declaration
  • Inspect call hierarchy for methods
  • Inspect class hierarchy for classes

PyDev
  • had problems getting many features to work on linux, so abandoned it until Sandra showed me she had PyDev working on her mac so I tried on my Mac and was able to configure things well. I'm still in the very early exploration phase.
  • many of the same features as the C++ interface, plus code folding

Issues
  • having lots of options is a double-edged sword, it can be difficult to find the option you are interested in changing although the preference categories are generally well organized in a hierarchical layout.
  • finicky about which jvm you use, at least on linux. default mac jvm seems ok so far.
  • can exhaust jvm memory under some (somewhat confusing and unknown) circumstances
  • seems to have issues at least sometimes in recognizing class hierarchies when templates are involved.
  • feature exploration can be a time consuming, albeit pleasurable, diversion

-- DaveMehringer - 2010-05-14
Topic revision: r1 - 2010-05-14, DaveMehringer
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback