Skip to content

Monaco Editor

The Monaco Editor is the code-editing surface that backs every text-based artefact in the IDE. Same engine as VS Code; not supported in mobile browsers.

Component: editor-monaco (with editor-monaco-extensions for platform glyphs and decorations).

Supported languages

LanguageExtensionsLanguage services
JavaScript*.js, *.mjsGraalium-backed completion and diagnostics
TypeScript*.tsSame Graalium pipeline; on-demand transpilation
Java*.javaJDT.LS (ide-java-lsp) - completion, navigation, refactor
Python*.pySyntax only
HTML / CSS / JSON / Markdown*.html, *.css, *.json, *.mdBuilt-in Monaco services
SQL*.sqlSyntax highlighting; execution via the Database perspective

JS, TS, and Java are the only languages with full language-server features (completion, hover, peek references, rename, organize imports). The rest fall back to Monaco's built-in tokenizer.

Editing

  • Multi-cursor: Cmd/Ctrl + click for secondary cursors, Alt + click for column-mode selection.
  • Format document: right-click then Format Document, or Shift + Alt + F.
  • Peek references / go to definition: right-click then Peek References / Go to Definition (JS, TS, Java).
  • Find and replace: Cmd/Ctrl + F, Cmd/Ctrl + H.
  • Command palette: F1.

Breakpoints and debug glyphs

The gutter displays two custom glyphs from editor-monaco-extensions:

  • debug-breakpoint-glyph - red dot. Click the gutter to set or clear a breakpoint.
  • debug-current-line-glyph - yellow arrow. Marks the line the runtime is paused on.

JS and TS breakpoints are picked up by the JavaScript debugger. Java breakpoints are picked up by the Java debugger via the DAP bridge to JDT.LS.

Notes

  • Saving a .ts / .js / .java file triggers the respective synchronizer or on-demand loader; the new code is reflected at the next request.
  • Java compilation problems surface in the Problems view.
  • Log output from running code streams to the Console and Logs views.

Released under the EPL-2.0 License.