Skip to content
DocumentationEditors & language tooling
On this page

Page resources

Open Markdownllms.txtView source

Last updated

One ships project-aware integrations for VS Code and Zed. Both are thin clients over one lsp and the same versioned lifecycle commands used by the CLI; an editor never becomes another project model or source of semantic truth.

Open the project, not an isolated file

Open the directory containing one.one, keep the verified one installation on PATH, and let the editor discover the nearest explicit project boundary. The language client starts:

one lsp --workspace <project-root>

VS Code may set one.cli.path to the selected One executable. Its separate one.lsp.path setting is only for a dedicated syntax-server fallback; leaving it empty keeps project resolution, embedded implementation tooling, and exact lock evidence available through the CLI-hosted server. Zed likewise launches one lsp over standard input and output.

Work from one exact snapshot

Completion, hover, diagnostics, formatting, semantic tokens, references, and definition navigation are bound to the open source revision, nearest one.one, selected root, and exact one.lock. They do not query a newer registry or infer an implementation language from body text.

Go to definition follows authored names into their canonical owner contracts, package exports, language rules, normalizers, implementation claims, generated SDK source maps, plans, artifacts, grants, receipts, and evidence. Meaning that has no literal project file opens as a read-only virtual document under .one/vfs/; those documents are disposable projections, never editable source of truth.

An implementation body receives language-specific highlighting and analysis only after its exact using profile and locked tooling admission match the current claim. Rust and TypeScript public boundaries compose with their native language tooling instead of fabricating .one definitions for private code.

Edit malformed source honestly

The lossless parser keeps incomplete or malformed bytes as the current authored state. Intact local references may still navigate, but the editor never shows an older valid normalized value as though it described newer invalid text. Fix the reported source error, save, and let the exact project check refresh the semantic projection.

Formatting applies only after strict envelope acceptance. It canonicalizes System IDL presentation while preserving implementation-body bytes until that body's selected profile formatter is separately admitted.

Use structured projections safely

VS Code can reopen a supported item as a synchronized form, table, graph, or combined view. An edit proposes a bounded patch against the exact source revision, reparses every affected input, reruns the required owner checks, and commits one ordinary undoable workspace edit only if the base revisions still match. If current source cannot be represented faithfully, the projection becomes read-only and the lossless source view remains available.

Lifecycle tasks, the One sidebar, MCP discovery, terminal TUI, and shell all call the same public operations. A cached badge or editor output filename is never lifecycle evidence; restore work from an exact plan: or operation: reference with ordinary one inspect.

Next: learn the .one source language or use the One TUI.