Service Architect plugins for VS Code and JetBrains IDEs
Explore a typed Python architecture graph in VS Code or JetBrains IDEs, navigate to source, and generate service code without replacing the authoring project.
When to use
Use an IDE plugin when the Python DSL project is your editable source of truth and you want its architecture visible beside the code.
Behavior
- The shared read-only graph viewer supports Auto Layout, search and highlighting. Layout and scope navigation do not modify the Python model.
- Click a node or link to open its Python authoring expression. Right-click a node, or use Shift+F10 / the Context Menu key, for Python Code and, when applicable, Show Component and Show Pipeline.
- Materialize Effective Python DSL evaluates the project and round-trips through canonical YAML into a reviewable python-dsl/model/ snapshot, without replacing authoring code. Existing user edits in the snapshot are protected.
- Generate and Merge Project requests generated code and invokes the existing ServiceGen merge script for the selected destination. Generation requires API credentials; local graph inspection does not upload graph data.
Install and use the VS Code extension
Get the VSIX from the Service Architect for VS Code repository. In VS Code, run Extensions: Install from VSIX and choose the package. The repository also documents the Docker packaging command make docker-build.
Install sa-python-dsl in your Python environment. Put sa-dsl on PATH or configure serviceArchitect.saDslCommand with its absolute path. Open a trusted workspace and run Service Architect: Open Python Graph. Saving Python files refreshes the graph.
Right-click .service-architect/project.yaml for Service Architect: Materialize Effective Python DSL or Service Architect: Generate and Merge Project. Configure serviceArchitect.materializedDslDirectory and serviceArchitect.generatedProjectDirectory, or choose a destination when prompted.
Install and use the JetBrains plugin
Get the plugin ZIP from the Service Architect for JetBrains repository. In the IDE, open Settings / Plugins and choose Install Plugin from Disk. The repository documents supported platform builds and make docker-build for packaging.
Install sa-python-dsl in the project virtual environment so that .venv/bin/sa-dsl exists, or put sa-dsl on PATH. Open the Service Architect tool window, select the Python project and press Refresh after source changes.
Use Materialize DSL to create the effective-model snapshot. Set the generated-code destination beside the tool-window buttons and use Generate + merge to generate and merge the runtime project.
Review the effective model without losing Python authoring code
The editable Python project can use loops and helper functions to construct the topology. The separate materialized snapshot makes the resulting declarations explicit so that Git diffs show effective model changes. It is not a replacement for the original project.
The IDE graph remains read-only. Continue with Python DSL installation and safe regeneration for the CLI and generated-code merge workflow.
Configuration example