ADITO Context Explorer
Explore ADITO YAML contexts with icons, Explorer decorations, and a logical context graph while preserving the physical file system tree.
Project structure
src/ contains the extension host entry point, context graph logic, and the Context Explorer React webview.
src/test/ contains extension-host tests and their representative workspace fixture.
themes/, icons/, and images/ contain extension assets; media/ and dist/ hold generated webview and package output.
Coverage
- ADITO root folders such as
contexts, processes, reports, roles, and serviceDefinitions
- Colored, plain folder icons for named model folders such as
context, entity, views, fields, providers, recordContainers, process, report, dashlet, role, and service
- Freely named Context folders receive their Context color through Explorer decorations.
- ADITO YAML definitions such as
.context.yaml, .process.yaml, .entity.yaml, .report.yaml, and .service.yaml
- Supporting JavaScript, AsciiDoc, JasperReports, and generated
.aod files
- Colored Explorer folder names for model folders and all their descendants. Colors identify the closest model area, including context, entity, view, field, provider/consumer/webservice, record container, and dashboard/dashlet. The status-neutral ADITO palette does not reuse the usual red, yellow, green, or orange source-control status colors.
VS Code does not support path-dependent file-icon themes. The extension uses supported Explorer decorations for freely named context folders and their descendants, without altering the physical tree.
Explorer options
Configure the following settings independently:
adito.explorer.colorNames: colored model folder names
adito.explorer.showStatusBarIndicator: colored active-file model indicator in the status bar
adito.contextDrilldown.scaleByProcessComplexity: optionally scale logical field and parent circles by the static complexity of their JavaScript/TypeScript processes
adito.contextDrilldown.groupModelFolders: group external views, fields, actions/actionGroups/actionFields, consumers, providers, and service folders into enclosing circles
Click either ADITO status-bar item to toggle these settings without leaving the editor. The same picker is available through ADITO Context Explorer: Configure in the Command Palette.
Context Explorer
Use ADITO Context Explorer: Open to inspect a context's logical hierarchy. YAML definitions connect through their parent paths; when adito.contextDrilldown.groupModelFolders is enabled, external views, fields, actions/actionGroups/actionFields, consumers, providers, and service folders are shown as their own groups. Support files in a field folder are assigned to the matching field definition—for example, fields/x/process.js appears below fields/x.field.yaml. Select a group or definition to enter it; the enclosing parent circle remains visible as a return target, while scrolling inside any circle zooms in and reveals further labels. The breadcrumb trail also returns to higher levels, and selecting a support file opens it. When adito.contextDrilldown.scaleByProcessComplexity is enabled, JavaScript and TypeScript process files receive a capped static score based on decision points and functions; this score increases the size of the containing field and its parent circles.
Use Maximize in the Context Explorer to open the graph in the editor area and maximize its editor group. Its Detach icon moves the editor into a floating VS Code window on versions that support floating editors.
Development
Open this folder in VS Code and press F5. In the Extension Development Host, select ADITO Context Explorer with Preferences: File Icon Theme.
Run the automated graph and hierarchy tests in a VS Code Extension Host with:
npm test
Create the coverage and SonarQube reports used in CI with:
npm run test:coverage
The command writes JUnit and SonarQube Generic Test Data to .vscode-test/ and LCOV/Cobertura coverage reports to coverage/.
The extension writes lifecycle and command logs to the ADITO Context Explorer output channel through @aditosoftware/vscode-logging.
Packaging
Install @vscode/vsce and run:
npx vsce package
| |