You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Working with Ash Framework projects often means dealing with long resource files, making it hard to find and navigate between sections.
3
+
Working with Ash Framework projects often means dealing with long resource files, making it hard to
4
+
find and navigate between sections.
4
5
5
-
Ash Studio is a VS Code extension that solves this by providing navigation and code insight tools, helping you quickly jump between Ash DSL blocks and understand your code structure at a glance.
6
+
Ash Studio is a VS Code extension that solves this by providing navigation and code insight tools,
7
+
helping you quickly jump between Ash DSL blocks and understand your code structure at a glance.
6
8
7
9
## ✨ Features
8
10
9
11
-**🧭 Smart Navigation** - Jump between Ash sections with document outline integration
10
12
-**⚡ Quick Section Search** - Instantly find and navigate to any Ash section via Command Palette
11
13
-**📊 Sidebar Overview** - Dedicated panel showing all Ash sections and their hierarchy
12
-
-**📚 Documentation Links** - CodeLens provides direct links to Ash documentation for DSL blocks
13
-
-**�️ Robust Parsing** - Works reliably with complex Ash files using intelligent fallback
14
-
strategies
14
+
-**📚 Mermaid Diagram Code Lenses** - CodeLens provides direct viewing of mermaid diagrams
15
15
16
16
## 📦 Installation
17
17
@@ -38,10 +38,20 @@ Ash Studio is a VS Code extension that solves this by providing navigation and c
38
38
-**Sidebar Panel**: Look for "Ash Studio" in the Explorer sidebar
39
39
-**Document Outline**: View Ash sections in VS Code's Outline panel
40
40
-**Quick Navigation**: Use `Cmd+Shift+P` → "Go to Ash Section..."
41
+
4. Consider adding some version of this to your .gitignore if you don't want diagrams saved in your
42
+
repo.
43
+
44
+
```gitignore
45
+
lib/**/*.mmd
46
+
lib/**/*.svg
47
+
lib/**/*.png
48
+
lib/**/*.pdf
49
+
lib/**/*.md
50
+
```
41
51
42
52
## 🎯 Usage
43
53
44
-
### Navigation and Documentation Features
54
+
### Navigation and Diagram Features
45
55
46
56
**Sidebar Navigation**
47
57
@@ -61,11 +71,11 @@ Ash Studio is a VS Code extension that solves this by providing navigation and c
61
71
- See all Ash sections as navigable tree structure
62
72
- Click to jump to any section
63
73
64
-
**CodeLens Documentation Links**
74
+
**CodeLens Mermaid Diagram Links**
65
75
66
-
-Enable CodeLens in settings (see Configuration section)
67
-
- Hover over DSL blocks like `resource`, `authentication`, etc. to see documentation links
68
-
-Click on CodeLens links to open relevant Ash Framework documentation in your browser
76
+
-Click on CodeLens links to open the mermaid diagram in a webview. Diagrams will be created using
77
+
mix tasks.
78
+
-Choose the diagram format in settings.
69
79
70
80
### Supported Ash Constructs
71
81
@@ -92,52 +102,11 @@ The extension also supports DSL blocks from popular Ash libraries:
92
102
**Extension not activating?**
93
103
94
104
- Ensure your `.ex` files contain `use Ash.Resource` or `use Ash.Domain`
95
-
- Check that file extensions are `.ex` (not `.exs`)
96
-
97
-
**Sidebar showing as empty?**
98
-
99
-
- Open an Ash file (Resource or Domain)
100
-
- Check VS Code's Output panel → "Ash Studio" for parsing logs
101
-
- Verify the file has recognizable Ash DSL sections
102
-
103
-
**Performance with large files?**
104
-
105
-
- The extension automatically uses optimized parsing for complex files
106
-
- Large files (>5000 lines) use fast simple parser mode
107
-
- No action needed - this is automatic and transparent
108
-
109
-
**Missing sections in navigation?**
110
-
111
-
- Complex or malformed DSL blocks may not be recognized
112
-
- Check VS Code Output → "Ash Studio" for parsing details
113
-
- File an issue with example code if needed
114
-
115
-
## 🔧 Configuration
116
-
117
-
Access settings via VS Code Preferences → Extensions → Ash Studio:
118
-
119
-
-**Log Level**: Control debug output (Error/Warning/Info/Debug)
120
-
-**Auto Refresh**: Automatically update sidebar when files change
121
-
-**CodeLens**: Enable or disable documentation links in Elixir files
122
-
-**Performance**: Enable metrics collection and tune parsing delays
105
+
- check the Ash Studio channel in the Output window for errors
0 commit comments