Skip to content

Latest commit

Β 

History

History
171 lines (117 loc) Β· 4.51 KB

File metadata and controls

171 lines (117 loc) Β· 4.51 KB

Contributing to Dracula Theme for JetBrains IDEs

Thank you for your interest in contributing to the Dracula Theme! This document will help you get started with development and debugging.

πŸš€ Quick Start

  1. Clone the repository

    git clone https://github.com/dracula/jetbrains.git
    cd jetbrains
  2. Import into IntelliJ IDEA

    • Open IntelliJ IDEA Ultimate
    • Select "Open" or "Import Project"
    • Choose the cloned directory
    • Select "Import project from external model" β†’ "Gradle"
    • Follow the import wizard

πŸ“‹ Prerequisites

Required Software

  • JDK 17 or later
  • Python 3.10 or later
  • IntelliJ IDEA Ultimate 2024.1 or later

Recommended Plugins

Install these IntelliJ IDEA plugins for comprehensive language support and debugging:

Plugin Purpose
Scala Scala language support and syntax highlighting
Python Python language support and syntax highlighting
Ruby Ruby language support and syntax highlighting
PHP PHP language support and syntax highlighting
Go Go language support and syntax highlighting

πŸ› οΈ Development Setup

1. Project Structure

dracula-theme/
β”œβ”€β”€ src/main/
β”‚   β”œβ”€β”€ kotlin/          # Plugin logic
β”‚   └── resources/
β”‚       β”œβ”€β”€ themes/      # Theme files (.xml, .theme.json)
β”‚       └── META-INF/    # Plugin metadata
β”œβ”€β”€ build.gradle.kts     # Build configuration
└── README.md

2. Theme Development

  • Color Schemes: Located in src/main/resources/themes/
  • UI Themes: Defined in .theme.json files
  • Editor Schemes: Defined in .xml files

3. Building and Testing

# Run IDE with plugin for testing
./gradlew runIde

# Verify plugin compatibility
./gradlew verifyPlugin

# Create plugin distribution
./gradlew buildPlugin

🎨 Theme Customization

Color Scheme Files

  • Dracula.xml - Classic color scheme
  • DraculaColorful.xml - Colorful variant
  • DraculaAlucard.xml - Alucard variant

UI Theme Files

  • Dracula.theme.json - Classic UI theme
  • DraculaColorful.theme.json - Colorful UI theme
  • DraculaAlucard.theme.json - Alucard UI theme

Key Color Properties

{
  "colors": {
    "accentColor": "#ff79c6",
    "secondaryAccentColor": "#bd93f9",
    "primaryForeground": "#f8f8f2",
    "primaryBackground": "#414450",
    "selectionBackground": "#44475a"
  }
}

πŸ› Debugging

1. Plugin Debugging

  • Set breakpoints in Kotlin files
  • Use IntelliJ's built-in debugger
  • Check the IDE log for errors

2. Theme Debugging

  • Use IntelliJ's "Settings" β†’ "Editor" β†’ "Color Scheme" to preview changes
  • Test with different file types and languages
  • Verify contrast ratios for accessibility

3. Common Issues

  • Theme not loading: Check plugin.xml configuration
  • Colors not applying: Verify color scheme inheritance
  • Build failures: Ensure JDK 11+ is being used

πŸ“ Making Changes

1. Create a Feature Branch

git checkout -b feature/your-feature-name

2. Make Your Changes

  • Edit theme files in src/main/resources/themes/
  • Update plugin logic in src/main/kotlin/
  • Test thoroughly with different languages

3. Test Your Changes

  • Build the plugin: ./gradlew buildPlugin
  • Install the plugin in a test IntelliJ instance
  • Test with various file types and languages

4. Submit a Pull Request

  • Fork the repository
  • Push your changes to your fork
  • Create a pull request with a clear description

πŸ“š Resources

Official Documentation

Useful Links

🀝 Code of Conduct

Please be respectful and inclusive when contributing. We welcome contributions from developers of all skill levels and backgrounds.

πŸ“„ License

By contributing to this project, you agree that your contributions will be licensed under the same license as the project.


Need help? Open an issue on GitHub or join our community discussions!