Commit a5225d3
authored
feat(docs): comprehensive VS Code docs (finos#2532)
* feat(docs): comprehensive VS Code Extension reference manual
Closes finos#2531.
Adds the new docs/docs/working-with-calm/vscode-extension.md reference
manual modelled on calm-hub.md (PR finos#2523). 14 sections cover overview,
installation, activity bar / tree view / search, interactive preview,
themes (4-variant gallery), layout engines, real-time validation, hover,
timeline, multi-doc navigation, live docify, configuration reference,
and schema-developer mode. Cross-links one-way to the beginner tutorial,
the core-concept widgets/timelines pages, and the CLI docify section —
no existing docs are modified (the manual is complementary).
Extends the screenshot tool (PR finos#2530 / issue finos#2529) with per-shot
workbench-settings overrides and an optional workspaceFile, then
implements 8 new shots: tree-search, 4 theme variants, 2 layout variants,
and the preview's Template tab. Two TODO shots remain (hover, timeline)
with the docs sections describing the feature textually and linking back
to the issue.
Implementation notes:
- launch.ts gains `settingsOverrides` so each shot can pre-seed the
user-data-dir with the specific workbench/extension settings it needs
(themes, layout engine, etc.).
- shots.ts gains `workspaceFile` for fixtures whose entry point isn't
architecture.json (timeline uses arch-v1.json).
- index.ts supports SHOOT_ONLY=<name1,name2> for development iteration
without overwriting the manifest mid-flow.
- New fixtures: timeline/ (multi-version + calm-timeline.json) and
docify-template/ (architecture + Handlebars template).
- 12 of 14 shots implemented, 2 declared TODO. Smoke test passes
(63 assertions). Docusaurus build is clean (no broken anchors).
* refactor(vscode): apply pre-PR review feedback
- Clarify SHOOT_ONLY example in index.ts; previous example named a shot
whose `implemented` flag is false, which would have produced zero
outputs.
- Note in shots.ts that `waitForDiagramRendered` returns on timeout
rather than throwing, so a regression in the preview can silently
produce a degraded PNG. Manual PR-diff review remains the gate.
- Mark the 08-hover setup body as scaffolding retained for the TODO
follow-up, so its dead-code state reads intentional.
- Drop the empty `<div className="vscode-extension-theme-gallery">`
wrapper in the docs page; no CSS rule referenced it.
- Normalise "VSCode" → "VS Code" in the Getting Help link label for
consistency with the page title.
* docs(vscode): batched feedback — timeline, mapping, sidebar label
- Rename sidebar label to "CALM Tools (VSCode)" via sidebar_label
frontmatter (page title and URL unchanged).
- Remove the tutorial-pointer paragraph from the intro; the manual stands
on its own and the cross-link remains in Getting Help.
- Drop the Hover Information section entirely.
- Implement the timeline shot. The trick is firing onDidSaveTextDocument
after the editor focuses the file — the initial
onDidChangeActiveTextEditor on cold launch can race the extension's
onStartupFinished activation and miss timeline detection. Manifest now
has 13 implemented + 1 skipped (08-hover).
- Expand the Timeline Navigation section with a working screenshot, a
full calm-timeline.json example, how the extension renders timeline
mode (sidebar replaces Nodes/Relationships/Flows with the moments
list), and when to use it.
- Expand Multi-Document Navigation with a how-it-works overview, the
exact rules around mapping syntax (relative paths resolve against the
mapping file's directory, not the workspace root), a complete worked
example with a full workspace layout, and a troubleshooting list. All
facts verified against navigation-service.ts.
* chore(review): address Copilot review feedback
- Rewrite the Documentation Generation section to describe the preview's
three tabs accurately: Docify is the renderer, Template is a source
viewer, Model is the parsed model. The previous prose called the
Template tab a "live Handlebars renderer" — verifying against
template-tab.view.ts, the Template tab is just `<pre>` of escaped
source.
- Re-shoot 10-docify clicking the Docify tab; capture now shows the
rendered "Architecture Overview" + Client → Calls → Service diagram
rather than raw template text.
- Tidy the Interactive Preview section's tab breakdown to match.
- Fix the Search & Filter section: the palette title is "Search Model
Elements"; "Search CALM Architecture Elements" is the prompt inside
the input box, not the command label.
- Normalise the sidebar label to "CALM Tools (VS Code)" with a space,
matching the page title and the rest of the prose.
* fix(vscode): restore working light/dark theme shots; drop HC variants
The previous attempt to fix the High Contrast Light screenshot regressed
the working light shot by moving workbench.colorTheme out of the seeded
settings into a runtime Color Theme picker call. The picker doesn't
work reliably under --extensionDevelopmentPath on VSCode 1.121 because
the theme list is registered asynchronously and the picker's highlighted
row stays at "Searching for themes..." when Enter fires.
Restore the working setting-at-launch approach for the standard light
and dark themes (Default Light Modern / Default Dark Modern), which IS
honoured at launch. The two HC variants are not honoured by the same
path on this VSCode version regardless of label form (Default High
Contrast Light, Light High Contrast, etc.). Mark them implemented:false
with an explanatory block comment.
The docs page's theme gallery is now light + dark only, with a short
note that HC variants follow the same pattern and can be selected
manually. Removes the two broken HC PNGs.
Also adds the window.autoDetectColorScheme / autoDetectHighContrast
settings to WORKBENCH_SETTINGS — harmless in the current state but
defensive against future OS-driven theme overrides.1 parent 1ba8e19 commit a5225d3
23 files changed
Lines changed: 915 additions & 103 deletions
File tree
- calm-plugins/vscode/screenshots
- fixtures
- docify-template
- timeline
- src
- docs
- docs/working-with-calm
- static/img/vscode
Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
Lines changed: 15 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
Lines changed: 30 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
Lines changed: 46 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
36 | 45 | | |
37 | | - | |
38 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
39 | 51 | | |
40 | 52 | | |
41 | 53 | | |
42 | 54 | | |
| 55 | + | |
43 | 56 | | |
44 | 57 | | |
45 | 58 | | |
| |||
60 | 73 | | |
61 | 74 | | |
62 | 75 | | |
63 | | - | |
64 | | - | |
65 | | - | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
66 | 88 | | |
67 | 89 | | |
68 | 90 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
27 | 34 | | |
28 | 35 | | |
29 | 36 | | |
| |||
32 | 39 | | |
33 | 40 | | |
34 | 41 | | |
| 42 | + | |
| 43 | + | |
35 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
36 | 49 | | |
37 | 50 | | |
38 | 51 | | |
| |||
58 | 71 | | |
59 | 72 | | |
60 | 73 | | |
| 74 | + | |
61 | 75 | | |
62 | 76 | | |
63 | | - | |
| 77 | + | |
64 | 78 | | |
65 | 79 | | |
66 | 80 | | |
| |||
0 commit comments