GithubHelp home page GithubHelp logo

zenuml / jetbrains-zenuml Goto Github PK

View Code? Open in Web Editor NEW
31.0 10.0 8.0 35.04 MB

The ZenUML plugin running on the JetBrains IDEs.

License: Apache License 2.0

Java 54.71% HTML 38.68% CSS 4.21% JavaScript 0.77% Kotlin 1.04% Vue 0.44% TypeScript 0.16%

jetbrains-zenuml's Introduction

jetbrains-zenuml

The ZenUML plugin running on the JetBrains IDEs.

This official extension integrates ZenUML directly into all JetBrains IDEs. It supports ZenUML diagram files with the extensions .z, .zen and .zenuml.

The editor uses an offline version of ZenUML renderer, therefore it works without an internet connection and content stays local in your IDE.

Free

  • Full support of ZenUML DSL
    • Sync and Async messages
    • Creation, Return/Reply messages
    • Alt, Loop, Par, try/catch/finally fragments
  • Live preview of your diagrams
  • Cloud and other common icons (EC2, Lambda, Database, Boundary, etc.)

Paid

Generate ZenUML diagram from Java code only on Intellij IDEA.

Hacking / reverse engineering

To enable DevTools,

  1. Open menu item Help > Find action... and search for "Registry..."
  2. Enable "ide.browser.jcef.contextMenu.devTools.enabled"

Development

  1. Java version: OpenJDK 11 or higher.

  2. ./gradlew

  3. ./gradlew runIde to start another instance of IDEA with our plugin installed.

    Using Gradle In IntelliJ

    If you get an error like this:

    Cause: org/openjfx/gradle/JavaFXPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

    you need to change Build Tools > Gradle > Gradle JVM to version 11 or higher.

Release

  1. determine release version number in the format of YYYY.R.N, 2019.1.1 for example. N can be omitted for the first release of a major version.
  2. File resource/META-INF/plugin.xml line 4, update plugin version in <idea-plugin>.<version> with YYYY.R.N
  3. Pull request -> Merge to master
  4. git checkout master && git pull --reb
  5. git tag -a release-YYYY.R.N -m 'release tag msg'
  6. git push origin release-YYYY.R.N
  7. travis will release zenuml.zip to github in a few minutes

Publish

  1. Log on to Market place.
  2. Use github release file to upload.

Installation

  • Inside Jetbrains IDE

    • (Skip this for prod version) To install Alpha Versions

      Add https://plugins.jetbrains.com/plugins/alpha/list as plugin repository

    • Search for ZenUml, click install button then follow instructions to restart IDE

  • Install via plugin file

    1. Preferences > Plugins > setting > Install Plugin from disk.
    2. Choose the file to install.

Jetbrains Market Place

Not Sure how to use it for now, But might need it at a later time.

jetbrains-zenuml's People

Contributors

actions-user avatar akozlova avatar ampivovarov avatar artspb avatar basleijdekkers avatar bulenkov avatar cdracm avatar chashnikov avatar denofevil avatar develar avatar dmpanov avatar donnerpeter avatar forantar avatar gregsh avatar holgerbrandl avatar hurricup avatar jb-dmitry avatar kradima avatar ktisha avatar maxmedvedev avatar mrcoder avatar mwpeng avatar r0uter avatar rvishnyakov avatar undeadcat avatar valich avatar whimet avatar yanhuilifabric avatar yanncebron avatar yole avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jetbrains-zenuml's Issues

Upgrade JetBrains plugin

  • Update the dependency of the core renderer
  • Make sure it updates the file when the user changes message styles with styling panel
  • Update the changes log in the manifest file
  • Update the plugin version in the manifest file

Feature request: toggle branch of code

Hi,

First of all, I want to say that it's a very useful plugin!

And suggest improvement:
Ability to toggle visibility for some branch of code.

For now, I can do it with DevTools)

Rendering of nested blocks inside an alternative

RegisterPage
AccountController
AccountService
AccountFacade
@Starter(Guest)
if (validAccountData) {
  display_success = RegisterPage.register(account) {
    successful_response = AccountController.register(account) {
      // RW, Read Commited
      while(1) {
        success = AccountService.register(account) {
          success = AccountFacade.create(account)
        }
      }
      MailSender.sendConfirmationMail()
    }
  }
} else if (loginExists) {
  display_error = RegisterPage.register(account) {
    error_account_exists = AccountController.register(account) {
      // RW, Read Commited
      while(1) {
        failure = AccountService.register(account) {
          account_exists = AccountFacade.create(account)
        }
      }
    }
  }
} else if (invalidData) {
  display_error = RegisterPage.register(account) {
    error_invalid_data = AccountController.register(account)
  }
}

On webpage:

image

In the IntelliJ:
image

View changes as I am changing window size.
MacOS 10.15.3 Catalina

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.