== Eclipse for Chimera Development == These notes used the Ubuntu 10.04 package for eclipse, which provided: Eclipse SDK 3.5.2 (Build id: M20100211-1343). See the [http://www.eclipse.org/platform eclipse site] for other downloads. === Eclipse Plugins === The [http://pydev.org/ PyDev] plugin was installed, using the Eclipse: Help > Install New Software utility, by adding the {{{http://pydev.org/updates}}} site. For a tour of using !PyDev with Eclipse, see Ron Smith (2004), [http://www.ibm.com/developerworks/opensource/library/os-ecant/ Python development with Eclipse and Ant]. For a useful vi emulation in eclipse, see [http://www.viplugin.com/viplugin/ viplugin]. An alternative is [http://eclim.org/ eclim]. === Configure !PyDev Preferences === Create a new workspace (e.g., Eclipse - File > Switch Workspace > Other) for the new Chimera workspace settings. Then use Window > Preferences to locate the !PyDev panels to setup the "Interpreter - Python" to use the Chimera [http://plato.cgl.ucsf.edu/trac/chimera/attachment/wiki/ChimeraEclipse/Chimera-Eclispe-PyDev-Preferences.png python2.7 interpreter] (be sure to manually add {{{$CHIMERA/share}}} and {{{$CHIMERA/lib}}} to the "system PYTHONPATH" configuration). Then set some [http://plato.cgl.ucsf.edu/trac/chimera/attachment/wiki/ChimeraEclipse/Chimera-Eclispe-PyDev-Preferences-Env.png Chimera environment variables] (the $PATH and $CHIMERA syntax did not work, so these environment settings use full paths; the paths must point to hard-links in the file system, Chimera doesn't work with symbolic-links). Finally, an optional addition is to create a VirtualEnv for Chimera and add the pylint package, then configure the [http://plato.cgl.ucsf.edu/trac/chimera/attachment/wiki/ChimeraEclipse/Chimera-Eclispe-PyDev-Preferences-PyLint.png pylint preferences]. It should be configured now to enable importing Chimera modules and [http://plato.cgl.ucsf.edu/trac/chimera/attachment/wiki/ChimeraEclipse/Chimera-Eclispe-PyDev-Run.png running Chimera]. Click on these thumbnails for the larger views: * [[Image(Chimera-Eclispe-PyDev-Preferences.png, 10%)]] : python2.7 configuration * [[Image(Chimera-Eclispe-PyDev-Preferences-Env.png, 10%)]] : environment configuration * [[Image(Chimera-Eclispe-PyDev-Preferences-PyLint.png, 10%)]] : pylint configuration * [[Image(Chimera-Eclispe-PyDev-Run.png, 10%)]] : run configuration === Runtime debugging === The !PyDev plugin for eclipse has facilities for [http://pydev.org/manual_adv_remote_debugger.html remote debugging] of an active process. To use this facility, startup Chimera as usual and launch the IDLE shell. Startup eclipse and activate the !PyDev debug perspective. Activate the !PyDev [[http://pydev.org/manual_adv_remote_debugger.html remote debugging server]. Using a terminal or file browser, locate the {{{pydevd.py}}} file in your eclipse installation (somewhere in the eclipse plugins; e.g. in a linux terminal try: {{{locate pydevd.py}}}). Then, within IDLE, enter the following to enable remote debugging within the eclipse debug perspective: {{{ #pydevd_path="" import sys sys.path.append(pydevd_path) import pydevd pydevd.settrace() }}} In the eclipse console, try {{{print "Hello there!"}}} and see if it appears in the IDLE shell. If it does, your hooked into Chimera from eclipse and you have access to all the object inspection features of the !PyDev debugger.