Feature | Ace | CodeMirror | CodeJar | Orion | CodePress | CodeTextArea | EditArea | Helene | markItUp! | MDK-Editor | Monaco Editor (Visual Studio Code) |
---|
Implementation | | nestable full parsers | | pattern-based parser | pattern-based parser | | | | | parsers | |
---|
Syntax highlight | Over 110 languages | 129 languages | Yes | mixed mode: HTML + JavaScript and CSS, PHP, EJS; single mode: JavaScript, Java, JSON, CSS, Python, Ruby, XML, YAML (pluggable) | limited mixed mode: HTML + JavaScript (no CSS), PHP + HTML (no JavaScript or CSS), Java, Perl, SQL | only keywords | only one language at a time: Perl, 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 | Hundreds of languages |
---|
Syntax checking | HTML, CSS, JavaScript (using JSHint) | Some | No | JavaScript (using JSLint) | No | | | No | | HTML, JavaScript (using JSLint) | HTML, CSS, JavaScript, TypeScript |
---|
Tab support | Yes | Yes | Yes | Yes | Some | | Yes | | | Yes | Yes |
---|
Indent, new line keeps level | optional setting that is on by default | Yes | Yes | Yes | very limited | No | Yes | N/A (can't press Enter) | No | Yes | Yes |
---|
Indent, syntax | Yes | Yes | Yes | Yes | | | No | | | No | No |
---|
Indent, selected block | yes, including Shift+Tab | either automatically, or block-level indent/unindent | Yes | yes, including Shift+Tab | No | | yes, including Shift+Tab | | | yes, including Shift+Tab and using context menu | yes, including Shift+Tab |
---|
Bracket matching | Yes | Yes | No | Yes | an implementation exists with mouse-hover bracket matching | Ctrl+B; no angle bracket matching | | | No | matching bracket ([{<>}]) always highlighted | Yes |
---|
XML matching tag highlight | Yes | Yes | No | No | No | | | | | Yes | Yes |
---|
Code folding | Yes | Yes | No | Some | No | No | No | No | No | No | Yes |
---|
Code snippets | Yes | through API/add-on | | Some | type 'for' or 'if' then Tab | No | Yes | No | Yes | JavaScript | |
---|
Code suggestion | Yes | example | | Yes through esprima content assist plugin | No | | yes | | No | CSS, HTML, JavaScript) | Yes |
---|
Toggle syntax highlight on/off | Yes | Yes | | No | | | last example in demo | | N/A | textmode | |
---|
Keyboard shortcuts | All Common Shortcuts & Custom Keybindings | fully configurable | | Yes | | | some common used: Ctrl+f, Ctrl+g,Ctrl+z,Ctrl+y | | Yes | All key combos (except F1 in IE7) can be bound to shortcuts | Yes |
---|
Line numbers | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | supports mouse selection | Yes |
---|
Search & replace | regex supported | via API | No | Yes | | No | toolbar button | | | has API for the studio | Yes |
---|
Spell checking | addon for context menu | No | No | No | browser-based | none | browser-based | none | browser-based | No | |
---|
Toolbar | But command line console | No | No | No | | No | Yes | No | Yes | No | |
---|
Visual styling | Fully theme-able | CSS-based themes | Yes | Yes | | font-type and font-size | | | | 5 styles to choose from, having 2 font-sizes | Yes |
---|
Undo/Redo | Yes | Yes | Yes | Yes | Yes | | Yes | | | Differential Undo | Yes |
---|
Multiple cursors / Block selection | Multiple cursors | Yes | No | Yes | No | No | No | No | No | No | |
---|
IndentGuides | Yes | No | No | No | No | No | No | No | No | No | |
---|
Inline widgets | Yes | Yes | No | No | No | No | No | No | No | No | |
---|
Non US charset support | Yes | Yes | Yes | Yes | | | | | | No | |
---|
Diff editor | | | | | | | | | | | Yes |
---|