Jump to content

Comparison of JavaScript-based source code editors

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Spellcoder (talk | contribs) at 08:20, 20 April 2009 (updated info in table on EditArea (latest version and browser compatibility)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

Overview

List of source code editors
Site Latest version Style / Clone of Cost (US$) Software license Open source Browser compatibility
CodeMirror Home Page 0.60, 2008-12-29 Emacs / regular textarea Free BSD-like repository Firefox 1.5+, Internet Explorer 6+, Safari 3+, Opera 9.52+, Chrome[1]
CodePress dead home page, Demo, SourceForge 0.9.6, 2007-09-26 Microsoft Visual Studio Free LGPL Yes ?
CodeTextArea Home page, Demo, Experimental demo Microsoft Visual Studio Free Yes ?
ECCO Home page abandoned Microsoft Visual Studio Free no downloads ?
EditArea Home, Demo 0.8.1v2, 2009-04-19 Microsoft Visual Studio Free LGPL Yes IE 6 & 7 & 8, Firefox 1.5 & 2 & 3, Safari 3.x & 4, Opera 9, 9.5, 9.6 and Chrome 1 & 2[2]
Helene Home, Demo 0.9, unknown release date Microsoft Visual Studio Free GPL Yes
Markitup Home, Demo 1.1.3, 2008-09-15 markup editor, no syntax highlight Free MIT, GPL Yes
9ne Home Page ? emacs Free GPL Yes
jsvi Home Page ? vi Free GPL Yes
CodeIDE Home Page ? Microsoft Visual Studio ? ? No
MDK-Editor Home Page 2.10, 2008 Microsoft Visual Studio Depends on the use Dual license Code is readable tested to work on: IE 6, 7 - Firefox 2, 3 - Chrome

List of features

Feature testing was performed with Firefox 3.0.6 against the current demo version, and results may not match those in other browsers or downloadable versions.

List of source code editor features
CodeMirror CodePress CodeTextArea EditArea Helene markItUp! MDK-Editor
Implementation nestable full parsers pattern-based parser parsers
Syntax highlight JS, CSS, XML, mixed mode, PHP, SPARQL; can be extended with new parsers limited mixed mode: HTML+JavaScript (no CSS), PHP+HTML (no JavaScript or CSS), Java, Perl, SQL only keywords only one language at a time: PHP, CSS, Javascript, Python, HTML, XML, VB, C, CPP, SQL, Pascal, Basic, Brainf*ck PHP No mixed mode: PHP+HTML+JavaScript+CSS, single-mode: PHP, Javascript, CSS, XML; extensible
Syntax checking basic; more comprehensive for PHP [1] No No HTML, JavaScript (using JSLint)
Indent, new line keeps level Yes very limited No Yes N/A (can't press Enter) No Yes
Indent, syntax Yes No No
Indent, selected block either automatically, or block-level indent/unindent No yes, including Shift+Tab yes, including Shift+Tab and using context menu
Bracket matching Ctrl+[ after the bracket; no angle bracket matching an implementation exists with mouse-hover bracket matching[citation needed] Ctrl+B; no angle bracket matching No matching bracket ([{<>}]) always highlighted
XML matching tag highlight No No Yes
Code folding No No No No No No No
Code snippets example using API type 'for' or 'if' then Tab No Yes No Yes JavaScript
Code suggestion No No yes[citation needed] No CSS, HTML; in progress: JavaScript)
Toggle syntax highlight on/off No last example in demo N/A textmode
Keyboard shortcuts basic Yes All key combos (except F1 in IE7) can be bound to shortcuts
Line numbers demo Yes Yes Yes Yes No supports mouse selection
Search & replace via API No toolbar button Ctrl+H
Spell checking browser-based browser-based none browser-based none browser-based No
Toolbar example using API; demo No Yes No Yes kind of, API tools on the testsite[citation needed]
Visual styling font-type and font-size 5 styles to choose from, having 2 font-sizes
Undo/Redo Yes Yes Yes Infinite diff-based, with visual update[citation needed]
Usability Initial parse is slow, further performance is independent of document size new text sometimes syntax highlighted only after going out of the viewable area No PageDown/PageUp text ghosting if syntax highlight enabled can't type Enter no documentation


TODO: Other aspects

  • Add Bespin http://labs.mozilla.com/projects/bespin/
  • 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?
  • 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?

Extensibility features

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

Offspring projects

Below is a list of projects based on each engine.

CodeMirror powered

CodePress powered

EditArea powered

  • F->IT, browser-based online JavaScript FTP client

References