Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Eclipse 3 + EPIC 0.3.9

by Solo (Deacon)
on Jan 27, 2005 at 18:06 UTC ( #425664=perlmeditation: print w/ replies, xml ) Need Help??

I've tried out Eclipse 3 with the EPIC plugin as my new editor. After a few days of 'so-so' results, I switched to the test version of EPIC--0.3.9 and now I'm now quite happy with Eclipse as my IDE. I expect the feature set to just keep getting better, too.

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} &lt; m +ax ; $$${var}++ ) {&#13; ${cursor}&#13; }</template><template name="foreach" description="perl-ish for loop" c +ontext="perl" enabled="true">for my $$${var} ( @${array} ) {&#13; ${cursor}&#13; }</template><template name="if" description="if statement" context="pe +rl" enabled="true">if ( ${cursor} ) {&#13; } &#13; </template><template name="if-elsif-else" description="if-elsif-else s +tatement" context="perl" enabled="true">if ( ${cursor} ) {&#13; } &#13; elsif ( ) { &#13; } &#13; else { &#13; }</template><template name="if-else" description="if-else statement" c +ontext="perl" enabled="true">if ( ${cursor} ) {&#13; } &#13; else { &#13; }</template><template name="eval-exception" description="eval exceptio +n-handling template" context="perl" enabled="true">eval { ${cursor} } +;&#13; if ($$@) {&#13; warn $$@;&#13; }</template><template name="sub" description="subroutine template" con +text="perl" enabled="true">sub ${cursor} {&#13; my ( ) = @_;&#13; &#13; }</template><template name="method" description="subroutine as method +template" context="perl" enabled="true">sub ${cursor} {&#13; my $$self = shift;&#13; my ( ) = @_;&#13; &#13; }</template><template name="sub" description="subroutine as method tem +plate" context="perl" enabled="true">sub ${cursor} {&#13; my $$self = shift;&#13; my ( ) = @_;&#13; &#13; }</template><template name="while" description="while each key value p +air" context="perl" enabled="true">while(($$key, $$value) = each(%${c +ursor})) {&#13; &#13; }&#13; </template><template name="while" description="while diamond" context= +"perl" enabled="true">while (&lt;&gt;) {&#13; ${cursor}&#13; }</template><template name="switch" description="switch construction f +rom perlsyn" context="perl" enabled="true">SWITCH: {&#13; (${cursor}) &amp;&amp; do { ; last SWITCH};&#13; // &amp;&amp; do { ; last SWITCH};&#13; }</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}&#13; </template><template name="=head2" description="pod head2" context="pe +rl" enabled="true">=head2 ${cursor}&#13; </template><template name="=head3" description="pod head3" context="pe +rl" enabled="true">=head3 ${cursor}&#13; </template><template name="=head4" description="pod head4" context="pe +rl" enabled="true">=head4 ${cursor}&#13; </template><template name="=cut" description="pod cut" context="perl" +enabled="true">=cut&#13; &#13; ${cursor}&#13; </template><template name="=over" description="pod indent" context="pe +rl" enabled="true">=over 4&#13; &#13; =item ${cursor}&#13; &#13; =back&#13; </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.

Comment on Eclipse 3 + EPIC 0.3.9
Download Code
Re: Eclipse 3 + EPIC 0.3.9
by samtregar (Abbot) on Jan 28, 2005 at 06:09 UTC
    What was your favorite editor before you tried Eclipse? I'm always up for a new editor but I want to know how seriously to take your recommendation.

    -sam

      My main editor is now Eclipse 3 and I can recommend it, as long as you have a reasonable cpu.

      My previous editor was BBEdit on mac, very basic.
      I evaluated ActiveState's Komodo, but went with Eclipse; the only thing I missed was code folding.

      The 'testing' release of the e-p-i-c plugin has code folding, which is very nice, but it only does subroutines.

      Being able run scripts through my installed perl is great, I usually have a file called test.pl somewhere that I can open up to quickly try something out and run it. I've never really used the debugger integration though.

      Auto syntax checking (uses perl -c) is great for productivity; the right scroller will show yellow/red marks for warnings/errors, clicking them will jump to the appropriate line.

      Another feature I like is the 'outline' window which lists all the subroutines in the file; clicking one will jump to it in the editor.

      The perldoc integration is dodgy, it'll open a DOS window with the documentation, but after hitting q to close, Eclipse will prompt that the documentation wasn't available.

      I've just tested the new refactor feature. Select some code, hit refactor and it'll put it out into a new subroutine. Unfortunately the sub was placed at the end of my __DATA__ block.

      Running on linux the other day, I had to download Sun's runtime as I couldn't figure out how to get it to work with gnu's.

      ...how seriously to take your recommendation...

      Not seriously at all. I never got around to highly customizing vim or emacs or anything like that. I have used whatever was at hand in the past: vi, pico, notepad, MS Visual Studio 6 and Open Perl IDE. I wouldn't try to convince someone who loves their editor to leave it for Eclipse+EPIC (at least not on my recommendation).

      I tried out Eclipse because I wasn't using any particular editor.

      --Solo

      --
      You said you wanted to be around when I made a mistake; well, this could be it, sweetheart.
Re: Eclipse 3 + EPIC 0.3.9
by castaway (Parson) on Jan 28, 2005 at 06:38 UTC
    Whats the speed of Eclipse 3 like (and the specs of your machine)? I attempted to use one of them in the past, and found it much too slow. (But then I'm at a PII/300 .. still, now it has lots more RAM at least.. ).

    Please include your config file in your post, instead of pointing to your scatchpad. You will quite likely remove it from there in the future, then anyone finding this post will not see it. (Use readmore tags if its long)

    C.

      I have a P4/2.4GHz - 1GB RAM machine and I find performance is good when I have "validate source when idle for..." set to the maximum setting. That way it'll only validate (perl -c) when I hit CTRL-s to save.

      My laptop is a P4/1.8GHz - 512MB RAM, and again performance is good as long as the validation is set long.

      I use Eclipse on my G4 mac at home (768MB RAM) and it's a slow dog. Painful.

      On my P3 1GHz/512MB RAM (work) system, performance overall is fine. I notice that response time degrades overnight (i.e. in the morning I need to restart Eclipse.) The whole interface blocks when loading a file into the editor view and for source format--for large files this is an annoyance. The editors handle files up to 1000 lines, after that there is a big performance hit for me. I mostly edit lots of small files, so I don't consider any of these a problem.

      --Solo

      --
      You said you wanted to be around when I made a mistake; well, this could be it, sweetheart.
        Hmm, I like leaving my editors/projects open for days/weeks at a time.. and some of the files are some larger than 1000 lines..

        I guess I'll continue to give it a miss, and stick with emacs for now..

        C.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://425664]
Approved by herveus
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2014-07-10 18:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (215 votes), past polls