Giter Site home page Giter Site logo

kostya05983 / design-patterns-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from orpolyzos/design-patterns-plugin

0.0 1.0 0.0 519 KB

Plugin for IntelliJ IDEA that provides on the fly implementation of various design patterns.

Home Page: https://plugins.jetbrains.com/plugin/10856-design-patterns-intellij-idea-plugin

Java 100.00%

design-patterns-plugin's Introduction

Design Patterns IntelliJ IDEA Plugin

This plugin is meant to provide on the fly implementation of various design patterns.
You can download it directly from IntelliJ IDEA or from https://plugins.jetbrains.com/plugin/10856-design-patterns-plugin

Currently supported design patterns

  • Behavioral
    • Strategy
  • Creational
    • Builder (Inner)
    • Factory
    • Singleton
  • Structural

How to use

Assuming you have already installed the plugin, you can use it just by right-clicking inside a .java file while your mouse is inside a code block that defines a class. This will bring up the editor menu and the first option will be Design Patterns, where you can choose which one should be implemented.
Demonstration screenshot
Demo gif

Getting started

In order to avoid some common importing errors (when it comes to intellij plugin development), please follow the steps listed below.

  • Open the project using IntelliJ IDEA (Community or Ultimate)
  • In Project Structure -> Project Settings -> Project -> Project SDK create a new IntellJ Platform Plugin SDK
    • When asked for directory, use your IntelliJ IDEA installation directory.
    • Note that you will need IntelliJ IDEA Community in order to be able to properly debug the SDK's core code. If no debug is required though, Ultimate will work just fine as well.
  • In Project Language Level choose 8 - Lambdas, type annotations etc
  • In Project compiler output choose the out folder (for example C:\Users\design-patterns\out
  • Use gradlew runIde to run the plugin

Release History

  • 2.0.1
    • Adds support for IDEA builds from '145.20' to '191.*'
    • Fixes bug that was causing 'NullPointerException' when clicking on non .java files
    • Code refactoring
  • 2.0.0
    • Fixes bug that was causing 'ActionDuplicationException' during IDEA launch
    • Migrates plugin's build tool from DevKit to Gradle
    • Changes Singleton and Builder to use resource templates instead of String literals
    • Adds support for IDEA builds from '145.20' to '183.*'
  • 1.1.0
    • Updated Builder DP, so that it can now handle mandatory fields (if the user wants to)
    • Fixed bug in Builder DP, that would produce multiple constructors when ran again
    • Fixed bug in Strategy/Factory DP, that would cause error, when running it in a class without package statement
    • Fixed bug in Factory DP, that would produce multiple constructors when ran again
    • Fixed bug in Factory DP, that would not always find all implementors of an interface
  • 1.0.1
    • Added Factory Design Pattern
    • Fixed bug with package declaration in Strategy Design Pattern
    • Fixed bug with modifiers of fields and methods in Singleton Design Pattern
  • 1.0.0
    • Added Builder Design Pattern
    • Added Singleton Design Pattern
    • Added Strategy Design Pattern

Authors

design-patterns-plugin's People

Contributors

orpolyzos avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.