Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Eclipse 3 + EPIC 0.3.9

by Solo (Deacon)
on Jan 27, 2005 at 18:06 UTC ( [id://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 Perl syntax and interpreter support
Colorer Editor syntax highlighting for 'other' files
Azzuri Clay DB Modelling db schema editor (requires additional plugins from
Subversion support (installed but didn't test this one)

There are still more plugins that look promising but I haven't tried yet--( 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>


You said you wanted to be around when I made a mistake; well, this could be it, sweetheart.

Replies are listed 'Best First'.
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)


      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.


      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..


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.


      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 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. 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.


      You said you wanted to be around when I made a mistake; well, this could be it, sweetheart.

Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2024-07-18 00:48 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.