My editor of choice

So, I was listening to the Pro PHP Podcast on the way home from work today.  They were talking about Komodo a lot.  I figured I would give my favorite editor a plug.  Believe it or not, it’s jEdit.

I keep trying all the latest and greatest editors out there.  I fought with Eclipse and have tried the newer more PHP centric offerings built on Eclipse.  I recently tried out Komodo Edit for a week.  I had tried the Komodo IDE when it came out for Mac a while back.  But, I just keep coming back to jEdit.

What I like about it

The main thing that I like about jEdit over the other top contenders of the new generation is that it has a simple file browser.  It does not have the concept of “projects”.  Eclipse and Komodo both have these concepts.  But, when I really got to looking at the projects in Komodo, you basically set a point in your filesystem and tell it that everything in this dir is Project Foo.  So, really, you have to have your code organized on disk anyway.  It also bugged me (in Komodo Edit at least) that my project file had to live in the same dir with my project’s code.  That just seemed awkward.  Not everyone that shares my SVN is gonna want that and its gonna be sitting there in my svn status as an unknown file.

Another thing I like about jEdit is the rather large plugin repository.  Now, it’s an older project, so that is something that you would hope any established application would have.  But, if I am thinking about switching today, I have to give the nod to jEdit here.  The list is a bit Java-centric of course.  It’s a Java application after all.  But, there are some good ones in there like a PHP code structure browser.  I can’t live without that.  Makes finding functions or methods really easy in large libraries.

What I don’t like

Its Java so its not quite like working with a native application.  The dialogs are funny and the UI is just a bit off even with the Mac plugin that makes it more Mac looking.  Having said that, I don’t want a truly “Mac like” editor.  BBEdit and XCode are not my kind of editors.  I like tabbed interfaces vs. multi windowed UIs.

Its not an IDE, its an editor.  There is no debugging, at least, not easily.  There looks to be some ability to hook in debugging tools, but I have not gone through the trouble.  Of course, that could be said of many of the IDEs out there.  PHP has never had the ease of debugging that say Visual Basic had (still has?) back in 1998 when that was my full time job.  That was one thing about VB I loved.  The language was “eh”.  But the IDE was really nice.

Things I don’t care about that you might

jEdit does not have an SVN plugin that I can find.  I like my command line.  I know one coworker is addicted to the Eclipse real time SVN diff highlighting.  There is a CVS plugin, but I don’t know how good it is.  I am not aware of any PHP code completion, but it may be there.  I have an odd knack for remembering stuff like that and those little pop ups just annoy me.  Oh, and did I mention its Java?  That put me off for a long time.  But, it won me over.

18 Responses to My editor of choice

  1. Brice Figureau says:

    Since it seems you’re using a Mac, you should really check TextMate it is a really good editor supporting lots of languages (through the use of “bundles”).
    It has a “project” pane which acts more like an advanced file browser and opens files in tabs of the main window.
    The only drawback of this editor is that it doesn’t support split views in the editing pane…

  2. doughboy says:

    Yeah, I tried TextMate. It has that slide drawer thingy that all the Mac apps have. I don’t get that thing. It seems really weird to me. Also, I could not find a code browser for it. Using CTags via a plugin for jEdit is awesome.

  3. doughboy says:

    Ok, TextMate does have a CTags plugin. Sadly, it’s in a separate window that you can’t make stay on top or dock on the edit window. Also, with my “project” for dealnews, its a little slow when switching to the app. They almost got it right. Just need to ditch the project and go with a simple file browser. Then make dockable plugins.

  4. Trent Mick says:

    Just a clarification about Komodo projects: you can set the base dir for a Komodo project to be other than the same dir as the project file (.kpf) — it just isn’t the default. So you can have your project files outside of your source area. Once the project is created, right-click on the project and select “Properties”, in the “Directory Import” pane you can set the base dir.

    Cheers,
    Trent (a Komodo developer)

  5. doughboy says:

    Good tip. Thanks Trent.

  6. Brian Moon’s Blog: My Editor of Choice

  7. […] Moon/i> has posted today about his editor fo choice for PHP work – jEdit and some of the benefits he thinks it has for other […]

  8. Troy Topnik says:

    Following up on Trent’s comment, there are really two types of projects in Komodo: “Live Projects” (default) and “Static Projects”:

    http://aspn.activestate.com/ASPN/docs/Komodo/4.2/komodo-doc-project.html

    The “live” project behaves in the way you’ve seen: it just slurps up all the contents of the directories and subdirectories and displays them almost as if you were looking at a filesystem tree. With a “static” project (not sure if that’s the best word to describe it), you can organize the project any way you like by adding directories, snippets, macros, etc.

  9. John Mertic says:

    Great to hear there’s another jEdit PHP User!

    The simplicity of not having to create projects for everything, a powerful regex find and replace tool that works across files, and the ability to deal with many different types of files with syntax highlighting.

    My Setup includes the following plugins:

    Beauty
    BufferTabs
    SideKick
    TaskList
    ErrorList
    XML

  10. […] got his own idea of which editor he should or would use – thats the freedom of choice ;). Brian loves his jedit, Maurice uses his VI (and can’t live wout vi-bindings and -code-folding) and I, I’m […]

  11. Richard Howard says:

    I have been using jEdit for at least two years now and also keep coming back to it after trying the alternatives.

    Just as PHP is an eminently practical and flexible language, jEdit is an eminently practical and flexible program.

    It is unequaled among editors for giving you tons of editing power and still being easy to use: great find/replace tools, folding, rectangular/multiple selection, auto and manual indentation tools, on and on….

    My plugin highlights:

    BufferTabs, WhiteSpace, XML — great stuff
    PHPParserPlugin — You didn’t mention this, but it’s absolutely indispensible
    JDiff — Incredibly useful alternative to external side-by-side diffing programs
    Sessions — Holy cow, this is a major productivity booster. A “session” is just whatever files you have open; save as many named sessions as you like, switch between them with a couple keystrokes (bind session switcher to CM-s or whatever you like). Set it to automatically save your session on switch or exit.
    Project Viewer — If you must have projects, this plugin works pretty darn well and doesn’t throw extra files around your working directories

    When using jEdit in Windows, you can set “Swing look and feel” to “Windows”, which in my opinion is by far the best-looking of all the options (I guess that’s a little scary for Mac users…).

  12. Chad says:

    I am always looking for a good editor. I’ve used simple editors like Kate to the more complex IDEs like Zend IDE (which I like, but don’t want to pay $300). Eclipse seems to be ok, but I am going to try jEdit.

    Thanks

  13. Josh says:

    I was a hardcore Zend IDE user until recently when I decided that it was easier to do development on Linux servers directly using vim. I’m gonna try out jEdit and see how well it performs. I still like to have the GUI IDE available, but I haven’t been using it enough lately to warrant the license fee for Zend. I’ll let you know how things go. ;)

  14. Ovidiu C. says:

    jEdit’s SuperAbbrevs kicks ass. It’s a huge productivity boost for me. That’s what keeps me from moving to Eclipse+PDT. I know Eclipse has templates, but you can’t trigger them using the tab key (like in jEdit). You have to press Ctrl+Space, then select the template from a list. *Growl*

  15. […] My editor of choice So, I was listening to the Pro PHP Podcast on the way home from work today.  They were talking about Komodo a lot.  I […] […]

  16. Vadim says:

    I use JEdit (+much of plugins & self-written macros) for 5 years of professional development.

  17. […] My Editor of Choice Brian Moon blogs on his PHP editor of choice — jEdit.  I use jEdit for ALL of my text-editing needs and it’s a great tool.  Head over to jedit.org to download it. https://doughboy.wordpress.com/2007/10/10/my-editor-of-choice/ […]

  18. VeryVito says:

    JEdit’s ProjectViewer gives you a pretty full-featured “Project” plugin for jEdit (sans extra files), and there are also SVN plugins floating about (none for Mercurial yet that I’ve seen).

    TextMate is good for what it is: an excellent replacement for BBEdit. But like that editor before it, it’s ridiculously “Mac-like” and therefore unlike anything else you might use elsewhere. And it wouldn’t know how to dock a #$%^@ panel out of the way for anything: In the month I tried to force myself to like it, I spent most of my time moving windows around, and very little time editing code. I bought two licenses for TM before realizing jEdit had everything I already wanted… at a great price.

    (BTW, I’ve been running a series on improving jEdit workflow on my own site lately.)