Skip to content

ignaciotcrespo/vector-drawable-thumbnails-plugin

Repository files navigation

Vector Drawable Thumbnails Plugin

Build Version Downloads JetBrains Plugins Compatibility

A professional IntelliJ Platform plugin that displays thumbnail previews of Android Vector Drawable files in a convenient tool window. Compatible with all JetBrains IDEs.

Sponsor

Other projects:

  • Color Manipulation — Color toolkit for JetBrains IDEs with 30+ format conversions
  • GitShelf — Changelists and shelves for git in the terminal

Universal JetBrains IDE Compatibility - Works seamlessly across all JetBrains products including IntelliJ IDEA, Android Studio, WebStorm, PyCharm, PhpStorm, and more.

Key Features:

  • 🖼️ Real-time Thumbnails: Automatically generates and displays vector drawable previews
  • 🔍 Smart Filtering: Filter vectors by name with real-time search
  • 📊 Flexible Sorting: Sort by name, size, or modification date
  • 🎯 Universal Compatibility: Works with all JetBrains IDEs (2022.3+)
  • Performance Optimized: Efficient caching and background processing
  • 🏗️ Professional Architecture: Built with SOLID principles for maintainability

How to use: Go to menu View > Tool Windows > Vector Drawable Thumbnails

Perfect for Android developers, UI/UX designers, and anyone working with vector graphics in JetBrains IDEs.

🎯 JetBrains IDE Compatibility

✅ Fully Supported IDEs

IDE Version Support Special Features
IntelliJ IDEA Community 2022.3+ Core functionality
IntelliJ IDEA Ultimate 2022.3+ Enhanced Android support
Android Studio 2022.3+ Native Android integration
WebStorm 2022.3+ Web project vector assets
PyCharm Community 2022.3+ Python project resources
PyCharm Professional 2022.3+ Full feature set
PhpStorm 2022.3+ PHP project assets
RubyMine 2022.3+ Ruby project resources
CLion 2022.3+ C/C++ project assets
GoLand 2022.3+ Go project resources
DataGrip 2022.3+ Database project assets
Rider 2022.3+ .NET project resources
AppCode 2022.3+ iOS project vectors

🔧 Compatibility Features

  • Universal Platform Support: Built on stable IntelliJ Platform APIs
  • Optional Dependencies: Enhanced features for specific IDEs without breaking compatibility
  • Graceful Degradation: Core functionality always available
  • Version Range: Supports 80%+ of active JetBrains users (2022.3 - 2024.3+)
  • Automated Testing: Verified across multiple IDE versions

🏗️ Architecture

This plugin has been professionally refactored to follow SOLID principles, making it scalable, maintainable, and testable.

Layered Architecture

┌─────────────────────────────────────────┐
│           Presentation Layer            │
│     (UI Controllers, Tool Windows)      │
├─────────────────────────────────────────┤
│           Application Layer             │
│      (Business Logic, Services)        │
├─────────────────────────────────────────┤
│             Domain Layer                │
│    (Interfaces, Models, Contracts)     │
├─────────────────────────────────────────┤
│          Infrastructure Layer           │
│   (File System, Parsers, Repositories) │
└─────────────────────────────────────────┘

✅ SOLID Principles Compliance

  • Single Responsibility: Each class has one clear purpose
  • Open/Closed: Easy to extend without modifying existing code
  • Liskov Substitution: Implementations are interchangeable
  • Interface Segregation: Small, focused interfaces
  • Dependency Inversion: Depends on abstractions, not concretions

🧪 Benefits

  • Testable: Each component can be unit tested in isolation
  • Maintainable: Clear separation of concerns
  • Scalable: Easy to add new features and implementations
  • Flexible: Components can be swapped and configured
  • Professional: Enterprise-grade code quality

📦 Installation

From JetBrains Marketplace (Recommended)

  1. Open your JetBrains IDE
  2. Go to Settings/Preferences > Plugins > Marketplace
  3. Search for "Vector Drawable Thumbnails"
  4. Click Install
  5. Restart your IDE

Manual Installation

  1. Download the latest release
  2. Go to Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...
  3. Select the downloaded file
  4. Restart your IDE

Accessing the Plugin

After installation, access the plugin via:

  • Menu: View > Tool Windows > Vector Drawable Thumbnails
  • Tool Window: Look for the Vector Drawable Thumbnails tab (usually on the right side)

🚀 Development

Prerequisites

  • JDK 17+
  • Gradle 8.5+
  • IntelliJ IDEA (recommended for development)

Quick Start

# Clone the repository
git clone https://github.com/ignaciotcrespo/vector-drawable-thumbnails-plugin.git
cd vector-drawable-thumbnails-plugin

# Run tests
./gradlew test

# Build the plugin
./gradlew buildPlugin

# Run in development mode
./gradlew runIde

🧪 Testing

Unit Tests

./gradlew test

Compatibility Testing

# Run comprehensive compatibility tests
./scripts/test-compatibility.sh

# Test specific IDE configurations
./gradlew runPluginVerifier

Manual Testing

# Test in different IDEs
./gradlew runIde                # IntelliJ IDEA
./gradlew runAndroidStudio      # Android Studio
./gradlew runWebStorm          # WebStorm
./gradlew runPyCharm           # PyCharm

🔧 Build Configuration

The plugin uses the latest IntelliJ Platform Gradle Plugin with enhanced compatibility features:

  • Multi-version Testing: Automatically tests against multiple IDE versions
  • Plugin Verification: Ensures compatibility with JetBrains standards
  • Dependency Management: Optimized for minimal conflicts
  • Performance Monitoring: Built-in performance testing

📊 Quality Assurance

  • Code Coverage: Kover integration for coverage reports
  • Static Analysis: Qodana integration for code quality
  • Compatibility Verification: Automated testing across IDE versions
  • Performance Testing: Memory and CPU usage monitoring

Development Guidelines

  1. Follow SOLID principles
  2. Write comprehensive tests
  3. Ensure compatibility across JetBrains IDEs
  4. Update documentation

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Plugin for Intellij/AndroidStudio

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors