Comparison of Javascript-based source code editors

From Wikipedia, the free encyclopedia

This article provides basic feature comparison between some of the javascript-based source code editors available today. This article is not all-inclusive or necessarily up-to-date.

Contents

[edit] Overview

List of source code editors
Site Cost (US$) Software license Open source
EditArea Home, Demo Free LGPL Yes
CodePress Home Page Free LGPL Yes
CodeMirror Home Page Free BSD-like Yes
Helene Home, Demo Free GPL Yes
CodeIDE Home Page Unknown Unknown No
9ne Home Page Free GPL Yes
jsvi Home Page Free GPL Yes
MDK-Editor Home Page undetermined undetermined undetermined

[edit] List of features

Feature testing was performed with Firefox 2.0.0.7, and results may not match those in other browsers.

Feature EditArea CodePress CodeMirror Code Area 2 Code Area 3 Helene CodeIDE 9ne jsvi
Drag'n'Drop yes yes yes no yes no no no no
Copy'n'Paste yes yes (still working on IE) yes no yes no no no no

Drag-and-drop support

Supported by: EditArea, CodeArea 3, CodePress, CodeMirror

Not supported by: CodeArea 2

Copy and paste support (Within area)

Supported by: CodeArea 3, Edit Area, CodePress, CodeMirror

Not supported by: CodeArea 2

Copy and paste with other applications (Firefox)

Supported by: CodePress, CodeMirror, EditArea, CodeArea 3

Copy and paste with other applications (IE7)

Supported by: CodeMirror, EditArea, CodeArea 3

Viewable area limited highlighting (scalable to larger files)

CodePress

Textarea based (uses highlighting overlays)

EditArea, CodeArea 3

Use iframe

CodePress, CodeMirror


Custom spell checking

Supported by: none;

Browser-based spell checking

Supported by: CodeArea 3, CodeMirror;


Browser-based zooming

Supported by: CodeArea 3, CodeMirror, CodePress (partial - line numbers aren't correct)

Not supported: CodeArea 2, EditArea (Has custom text-size selection, though)


Multiple Undo allows the user to undo/redo multiple, granular changes to the document

Supported by: CodeArea 3 (Complete snapshots), EditArea (snapshots on delete and newline), CodePress (snapshots on delete and newline), CodeMirror (complete)

Simple Undo allows the user to undo the last change

Not supported by: CodeArea 2

Multiple instances support means that multiple edit boxes can be displayed on the same screen

Supported by: CodePress, EditArea, CodeArea 2, CodeArea 3, CodeMirror


Ctrl-A (Select All)

Supported By: CodePress,CodeMirror,EditArea,CodeArea 3

Not supported by: CodeArea 2


Automatic bracket insertion

Supported by: CodePress

Auto-indentation refers to maintaining the current indent level when the enter key is pressed - not code reformatting.

Supported by: CodeMirror, EditArea, CodeArea 3

Not supported by: CodePress

Bracket matching refers to the highlighting of the matching pair of braces, brackets, or parenthesis when the cursor is positioned on one of them.

Supported by: EditArea

Not supported by CodeMirror, CodeArea 3, CodePress

Batch indentation refers to indenting and un-indenting multiple lines at a time.

Supported by: EditArea

Not supported by CodePress, CodeMirror, CodeArea 3

Multiple languages per file

Supported by: none;

[edit] TODO: Other aspects

  • What size files do these editors handle best
  • How many dependencies (files) does each require? When compressed, what is the minimum download size in kilobytes?
  • Tabbed editing?
  • "Fast" mode, without syntax highlighting?
  • Javascript architecture (prototype, functional, or closure-based)
  • How responsive is each library (with and without a large file loaded)? (Not sure how to measure this yet.)
  • How long is the delay before syntax-highlighting occurs on new text.

[edit] Language features

  • Syntax highlighting (None, pattern, or full parser)
  • Snippet support
  • Code suggestion
  • Code folding
  • Text folding
  • Customizable key bindings

[edit] Offspring projects

list of projects based on each engine, offering more/less features.

[edit] CodePress powered

[edit] EditArea powered

  • Scaffold[BETA] by Jupiter (Justin Meyer (and others?)) - tabbed editing ? - database creation ?

[edit] Browser Compatibility

  • IE 6
  • IE 7
  • FF 1.5
  • FF 2.0
  • Safari
  • Safari/Win
  • Opera

[edit] Extensibility Features

  • Feature plugins
  • Interface languages (English, French, etc.)
  • Syntax highlighting plugins
  • Bracket completion plugins
  • Language snippet plugins
  • Code suggestion plugins