All notable changes to the "androidsvgsupport" extension will be documented in this file.
Check Keep a Changelog for recommendations on how to structure this file.
- Crosshair lines: moved overlay outside the scrollable container so lines stay locked to the cursor at all scroll and zoom levels
- Crosshair coordinates: fixed SVG-space coordinate calculation (was drifting with scroll/zoom)
- Crosshair precision: coordinates now show 1 decimal place at 2–9× zoom, 2 at 10–99×, 3 at 100×+
- Crosshair during drag: crosshair is hidden while panning and restored with correct position on mouse release
- Extension icon
<group>element support: Nested<group>tags are now converted to SVG<g>elements with full transform support (translateX/Y,rotation,pivotX/Y,scaleX/Y)android:alpha: Root<vector>alpha attribute is now applied as SVGopacityandroid:fillType:evenOddfill type is now correctly mapped tofill-rule="evenodd"- Drag to pan: Hold left mouse button and drag to pan the preview
- Zoom toward pointer: Ctrl/Cmd + scroll now zooms toward the cursor position at all zoom levels
- Color conversion:
#AARRGGBBAndroid colors are now correctly converted torgba()instead of invalid 8-digit CSS hex - Bounds box: The dashed bounds border now always tracks the SVG at any zoom level and scroll position
- Rulers: Ruler tick marks now update correctly when scrolling
- Hover provider: Path hover no longer fires when cursor is between two
<path>tags - Preview command: Title bar button now works reliably without a race condition on focus
- Double-dispose: Closing the preview panel no longer causes a double-dispose error
- Template load crash: Missing template files now show an error panel instead of crashing the extension host
- Keystroke performance: Preview no longer re-renders on every keystroke — debounced to 300ms
- Unused
TemplateEngineclass (dead code)
- Fix missing template files.
- Side Panel Preview: Display Android vector drawable XML files in a live preview panel
- Opens in split view beside the editor
- Real-time updates when source code changes
- Beautiful VS Code theme-integrated interface
- Auto-fit to panel by default
- Interactive zoom controls (buttons, keyboard shortcuts, mouse wheel)
- Zoom in/out with +/- keys
- Ctrl/Cmd + Mouse Wheel for precise zoom control
- Reset to fit view with "0" key
- Scale percentage indicator in toolbar
- Checkerboard transparency background pattern
- Visual bounds overlay with dashed border
- Dimensions display (width × height)
- Viewport information display
- Shadow effect on drawable for better visibility
- Hover over
<vector>tag to see complete drawable preview - Hover over
<path>tag to see individual path preview - Display fill and stroke color information in tooltips
- Show dimensions and viewport in tooltips
- Multiple access points:
- Editor title bar button
- Context menu
- Command palette
- Keyboard shortcut (Ctrl+Shift+V / Cmd+Shift+V)
- Smart file detection (only activates for vector drawable XML files)
- Automatic drawable file recognition
- Professional toolbar with zoom controls and info display
- Modular architecture following VS Code best practices
- Separated concerns: extension activation, preview panel, hover provider, utilities
- XML to SVG conversion for Android vector drawables
- Support for path data, fill colors, stroke colors
- WebView-based preview panel with CSP security
- TypeScript with strict type checking
- Android vector drawable
<vector>elements <path>elements with pathData, fillColor, strokeColor- Width, height, viewportWidth, viewportHeight attributes
- Fill and stroke alpha values
- Tint color attribute
- Color references (e.g.,
@color/primary) use default grey color - Theme attributes (e.g.,
?attr/colorPrimary) use default colors - Gradient fills not yet supported
- Animation sequences not yet supported
- Color resource resolution from colors.xml
- Support for gradient fills
- Export to PNG/SVG functionality
- Animation preview support
- Bulk preview of multiple drawables
- Theme preview (light/dark mode switching)
- Layer list support
- Shape drawable support