Elyra
Elyra The coding agent e The native code editor Elyra Grove Native local development environment Elyra Conductor Local project conductor Elyra SQL Anywhere Replication-ready SQL engine
Release notes
Changelog
Elyra
Editing

Editing

e provides the editing primitives you expect from a modern code editor.

Creating & saving files

  • ⌘N creates a new, empty untitled buffer — start typing right away.
  • ⌘S saves; for an untitled buffer it opens a Save As dialog, then reopens the file with the right language, LSP, and git support.
  • ⌘⇧S is Save As… for any buffer.

Line operations

Action Shortcut
Duplicate line ⌘D (or ⇧⌥↓)
Move line up / down ⌥↑ / ⌥↓
Delete line ⌘⇧K
Indent / outdent ⌘] / ⌘[

Line operations act on the line containing the caret, or on every line touched by the current selection.

Comments

Toggle line comments for the current line or selection with ⌘/. The comment token is chosen from the file's language (// for Rust/JS/TS/PHP/C/Go, # for Python/Shell/TOML, and so on). Toggling again removes them.

Multiple cursors

  • ⌘⇧D adds a cursor at the next occurrence of the current word or selection. Repeat to keep adding cursors, then edit them all at once.

Auto-closing brackets & quotes

As you type (, [, {, ", ', or `, the matching closing character is inserted automatically and the caret is placed between them. In addition:

  • Type-over: typing a closing character when it already follows the caret steps over it instead of inserting a duplicate.
  • Wrap selection: with text selected, typing an opening bracket or quote wraps the selection.
  • Smart backspace: deleting the opening half of an empty pair removes both characters.
  • Apostrophes after a word (e.g. don't) are not auto-closed.

Disable this behaviour with "auto_close": false in your configuration.

Auto-indent

Pressing Enter keeps the indentation of the current line, so new lines line up with the code above.

Rename

Press F2 to rename every whole-word occurrence of the identifier under the caret within the current file. (Project-wide LSP rename depends on the language server.)

Saving

  • ⌘S saves the active file.
  • With format on save and trim on save enabled (the defaults), the file is formatted via the language server and trailing whitespace is trimmed before writing.
  • Auto-save writes dirty buffers after a short idle period.

See Configuration to adjust these.

Emmet

In HTML, Blade, Vue, Svelte and PHP files, type an Emmet abbreviation and press Tab to expand it (or run Emmet: Expand Abbreviation from the palette):

Abbreviation Expands to
.card>h2{Title}+p a div.card containing an <h2> and a <p>
ul>li.item$*3 a <ul> with three <li class="item1…3">
a / img / input tags with their default attributes
nav>(a+a+a) grouping with ()

Supported: tags, .class, #id, [attr=value], {text}, child >, sibling +, grouping (), multiplication *N and $ numbering. The caret lands at the first sensible insertion point.

Encoding & line endings

The status bar shows the file encoding and line-ending style. Click the LF / CRLF indicator to convert the buffer. Non-UTF-8 files are detected on open (BOM or Windows-1252) and saved back in their original encoding.

Unsaved changes & external edits

  • Closing a tab with unsaved changes prompts you to Save, Don't Save, or Cancel.
  • If a file changes on disk (e.g. after git checkout), clean buffers reload automatically. If you have unsaved edits, a bar offers to Reload (discard yours) or Keep yours.