Working with Ash Framework projects often means dealing with long resource files, making it hard to find and navigate between sections.
Ash Studio is a VS Code extension that solves this by providing navigation and code insight tools, helping you quickly jump between Ash DSL sections and understand your code structure at a glance.
-
🧭 Smart Navigation - Jump between Ash sections with document outline integration

-
⚡ Quick Section Search - Instantly find and navigate to any Ash section via Command Palette

-
📊 Sidebar Overview - Dedicated panel showing all Ash sections and their hierarchy

-
📚 Mermaid Diagram Code Lenses - CodeLens provides direct viewing of mermaid diagrams

- Search for Ash Studio or
- Click install
- Download the latest
ash-studio-x.x.x.vsixfile - Open VS Code
- Go to Extensions panel (Ctrl+Shift+X / Cmd+Shift+X)
- Click the "..." menu → "Install from VSIX..."
- Select the downloaded
.vsixfile - Reload VS Code when prompted
- VS Code 1.75.0 or higher
- Ash Framework project with
.exfiles usingAsh.ResourceorAsh.Domain
- Open an Ash Project: Open any folder containing Ash Framework
.exfiles - Open Ash Files: The extension activates when you open files with
use Ash.Resourceoruse Ash.Domain - Explore Features:
- Sidebar Panel: Look for "Ash Studio" in the Explorer sidebar
- Document Outline: View Ash sections in VS Code's Outline panel
- Quick Navigation: Use
Cmd+Shift+P→ "Go to Ash Section..."
- Consider adding some version of this to your .gitignore if you don't want diagrams saved in your repo.
lib/**/*.mmd
⚠️ Note: Unusual behavior might occur on malformed source. A full Elixir parser has not been implemented, and testing has been performed on well-formed files.
Sidebar Navigation
- View all Ash sections organized by type (attributes, actions, relationships, etc.)
- Click any section to jump directly to it in the code
- Hierarchical view shows section details and nested elements
Quick Pick Navigation
- Press
Cmd+Shift+P(Ctrl+Shift+P on Windows/Linux) - Type "Go to Ash Section" or just "ash"
- Select any section for instant navigation
Document Outline
- Use VS Code's built-in Outline panel
- See all Ash sections as navigable tree structure
- Click to jump to any section
CodeLens Mermaid Diagram Links
- Click on CodeLens links to open the mermaid diagram in a webview. Diagrams will be created using
mix tasks.
⚠️ Note: Your project needs to compile to generate diagrams. - Choose the diagram format in settings.
The extension recognizes and navigates these core Ash DSL sections:
- Resources:
resource,attributes,actions,relationships,calculations,aggregates,policies,code_interface - Domain:
resources - PubSub:
pub_sub
The extension also supports DSL sections from selected core and community Ash libraries:
- AshAdmin:
admin - AshAuthentication:
authentication,strategies - AshGraphql:
graphql - AshJsonApi:
json_api - AshPaperTrail:
paper_trail - AshPostgres:
postgres - AshJason:
jason - AshOutstanding:
outstanding - AshNeo4j:
neo4j
Extension not activating?
- Ensure your
.exfiles containuse Ash.Resourceoruse Ash.Domain - check the Ash Studio channel in the Output window for errors
- Issues: GitHub Issues
- Feature Requests: Use GitHub Issues with "enhancement" label
- Questions: Start a GitHub Discussion