Thursday 8 December 2016

Entering the Best Editor Fray

It has been 3 years since I posted.  I was surprised to learn that in that time I have written over 300K lines of code in a dozen or so languages (mainly Java, Javascript, HTML and CSS).

I have also moved from MultiEdit (used for 20+ years), UltraEdit (7 months) to jEdit. Hands down, jEdit is the best editor I have ever used having been written by a community of programmers for a community of programmers.

My typical code/compile/test cycle is accessed via windows ALT-TAB which switches me from jEdit to Eclipse, F5 to compile, ALT-TAB to a PowerShell window where I type r to repeat the previous test. This means a code-change/compile/test cycle is often achieved in under 30 seconds depending on the complexity of the test.

I have used Eclipse as a compiler for about at least 10 years but always found the editor lacking. Once I had switched to jEdit I was intrigued by the possibility of building an interface so that jEdit could be informed directly about compilation errors.  The git repo jEdit-Eclipse-Interface provides the building blocks to allow this to happen.

With this capability my productivity increased enormously (no longer did I have to type line numbers to get to errors).  In essence in Eclipse I had the best compiler technology:

  • fast - achieved through great dependency checking
  • thorough - I have warnings fully enable which catches many many errors at compile time (for example I use private on method implementations so Eclipse warns me if I am not using some code)
and with jEdit the best editor for editing program code:
  • incredible hypersearch
  • markers
  • column editing - I cannot work without this
  • macros - I am able to enhance at will 
  • community plugins (used several out of the box such as auto-save)
Admittedly, Eclipse has a great find facility and because it understands the Java code it has opportunities to do smart refacturing and code completion. However, the lack of column editing and a macro facility makes Eclipse for me a non-starter.

With jEdit's macro facility I was able to quickly add:
  • smart cut/copy/paste (default is to copy line) (15 mins)
  • class extraction utility to extract inner classes, display on alternate screen (1 hour)
  • HotJump, HotBack - go to method/class implementation and back (20 mins)
  • Account System interface (4 hrs, saved 4 hrs first year).
  • Single-key cut/copy/paste (jEdit code changes also, 1 day).
These macros and others are available at the same git repo jEdit-Eclipse-Interface.


No comments:

Post a Comment