Papyrus Models for VS Code
Browse and edit Eclipse Papyrus / Papyrus-Desktop UML models (.uml) without
leaving VS Code. The extension reads the semantic model, shows its element
hierarchy, and edits properties with minimal, surgical changes that keep the file
fully compatible with Papyrus and produce clean diffs.
Status: early MVP. Diagram rendering is out of scope; diagram files
(.notation, .aird, .di) are never modified.
Features
- Model discovery — every
.uml model in the workspace (with a Papyrus
companion file) is listed in the Models view.
- Element explorer — the model hierarchy (packages, actors, components,
dependencies, comments, …) with an icon per UML metaclass.
- Properties panel — a view next to Terminal/Output that edits the selected
element's name, and for a comment its annotated element.
- Comment bodies as Markdown — open a comment to edit its body in a Markdown
editor; VS Code's built-in Markdown preview works out of the box. Saving writes
the body back into the
.uml file.
Getting started (development)
Requirements: Node.js 20+ and VS Code 1.96+.
npm install
npm run build # bundle the extension
npm test # unit + integration tests
Press F5 in VS Code to launch the Run Extension configuration, which
opens the bundled sample model in fixtures/sample-model/.
Using the extension
- Open a folder that contains a Papyrus model.
- Click the Papyrus icon in the activity bar.
- In Models, select the model to work on (a single model is selected
automatically).
- Browse the hierarchy in Model Explorer; select an element to edit it in
the Papyrus Properties panel.
- Select a comment to open its body in a Markdown editor. Use the editor's
preview button, or Markdown: Open Preview to the Side, to preview it.
How editing stays safe
Changes are applied as single character-range replacements against the original
text, so everything the extension does not touch — formatting, attribute order,
xmi:ids, and all diagram files — is preserved byte for byte.
Contributing
Contributions are welcome! See CONTRIBUTING.md for how to set
up the project, the coding conventions, and how to open a pull request.
AGENTS.md holds the detailed architecture reference.
License
Apache-2.0. See NOTICE for third-party attributions.