Which plugins are installed really makes Eclipse what it is. By default, Eclipse has a whole bunch of Java plugins which are not very useful to the mostly Perl programmer. Finding plugins that are compatible with version 3 is also a little tricky. Here's the list I'm using and the associated update sites. (You need the update site in order to install the plugin in my experience--the old method of extracting into the /plugin directory has not worked for me with 3.0.)
EPIC 0.3.9 | http://e-p-i-c.sf.net/updates/testing | Perl syntax and interpreter support |
Colorer Editor | http://colorer.sf.net/eclipsecolorer/ | syntax highlighting for 'other' files |
Azzuri Clay DB Modelling | http://www.azzurri.jp/eclipse/plugins | db schema editor (requires additional plugins from eclipse.org) |
Subversion support | http://subclipse.tigris.org/update | (installed but didn't test this one) |
There are still more plugins that look promising but I haven't tried yet--(http://people.redhat.com/pmuldoon/ for example.)
My EPIC templates config is in my scratchpad. Templates are like auto-complete, in the editor you type the first character(s) in the template name and press ctrl+space to insert the template if there's an exact match, if not you're prompted for which to use.
In my external programs, I've created entries for module-starter, module-info, and tpage. On windows, these run best if I give cmd.exe as the external command and the batch file as part of the command arguments.
What plugins or configuration tips do other monks using Eclipse 3.0+ for Perl programming have to offer?
Update: Per request, here is my 'EPIC templates' config in the post...
<?xml version="1.0" encoding="UTF-8"?> <templates><template name="for" description="C-style for loop" context +="perl" enabled="true">LABEL: for { my $$${var} = 0 ; $$${var} < m +ax ; $$${var}++ ) { ${cursor} }</template><template name="foreach" description="perl-ish for loop" c +ontext="perl" enabled="true">for my $$${var} ( @${array} ) { ${cursor} }</template><template name="if" description="if statement" context="pe +rl" enabled="true">if ( ${cursor} ) { } </template><template name="if-elsif-else" description="if-elsif-else s +tatement" context="perl" enabled="true">if ( ${cursor} ) { } elsif ( ) { } else { }</template><template name="if-else" description="if-else statement" c +ontext="perl" enabled="true">if ( ${cursor} ) { } else { }</template><template name="eval-exception" description="eval exceptio +n-handling template" context="perl" enabled="true">eval { ${cursor} } +; if ($$@) { warn $$@; }</template><template name="sub" description="subroutine template" con +text="perl" enabled="true">sub ${cursor} { my ( ) = @_; }</template><template name="method" description="subroutine as method +template" context="perl" enabled="true">sub ${cursor} { my $$self = shift; my ( ) = @_; }</template><template name="sub" description="subroutine as method tem +plate" context="perl" enabled="true">sub ${cursor} { my $$self = shift; my ( ) = @_; }</template><template name="while" description="while each key value p +air" context="perl" enabled="true">while(($$key, $$value) = each(%${c +ursor})) { } </template><template name="while" description="while diamond" context= +"perl" enabled="true">while (<>) { ${cursor} }</template><template name="switch" description="switch construction f +rom perlsyn" context="perl" enabled="true">SWITCH: { (${cursor}) && do { ; last SWITCH}; // && do { ; last SWITCH}; }</template><template name="map" description="map" context="perl" enab +led="true">map { ${cursor} } </template><template name="grep" descrip +tion="grep" context="perl" enabled="true">grep { ${cursor} } </templa +te><template name="=head1" description="pod head1" context="perl" ena +bled="true">=head1 ${cursor} </template><template name="=head2" description="pod head2" context="pe +rl" enabled="true">=head2 ${cursor} </template><template name="=head3" description="pod head3" context="pe +rl" enabled="true">=head3 ${cursor} </template><template name="=head4" description="pod head4" context="pe +rl" enabled="true">=head4 ${cursor} </template><template name="=cut" description="pod cut" context="perl" +enabled="true">=cut ${cursor} </template><template name="=over" description="pod indent" context="pe +rl" enabled="true">=over 4 =item ${cursor} =back </template><template name="=item" description="pod indent" context="pe +rl" enabled="true">=item ${cursor}</template></templates>
--Solo
--
You said you wanted to be around when I made a mistake; well, this could be it, sweetheart.