LoginSignup
8
11

More than 5 years have passed since last update.

PlantUMLとAtomを組み合わせる方法

Posted at

PlantUML を使うとき、Atom と組み合わせると、とても便利だったので、メモ。

前提

  • macOS Mojave
    • 10.14.4
  • Homebrew
    • 2.1.1
  • Java
    • OpenJDK 11.0.1
  • Atom
    • 1.34.0

インストールするもの

なお、よく紹介されている plantuml-viewer はエラーが出て、正常に動作しませんでした。1

手順

Java

お好みの方法でインストールしてください。

Atom

お好みの方法で(以下省略)

PlantUML

Homebrew で PlantUML をインストールします。

$ brew install plantuml

シーケンス図とアクティビティ図以外も作成したい場合は graphviz が必要です。
ただし、Homebrew は plantuml をインストールすると、自動的に graphviz もインストールしてくれます。

==> Installing dependencies for plantuml: libpng, freetype, fontconfig, libtiff, webp, gd, pcre, readline, sqlite, python, glib, jasper, netpbm, gts and graphviz

plantuml -version でインストールに成功したかを確認することができます。2

$ plantuml -version
PlantUML version 1.2019.05 (Sun Apr 21 01:45:36 JST 2019)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.1+13
Operating System: Mac OS X
OS Version: 10.14.4
Default Encoding: UTF-8
Language: ja
Country: JP
Machine: ***************.local
PLANTUML_LIMIT_SIZE: 4096
Processors: 4
Max Memory: 2,147,483,648
Total Memory: 134,217,728
Free Memory: 127,336,976
Used Memory: 6,880,752
Thread Active Count: 1

The environment variable GRAPHVIZ_DOT has been set to /usr/local/opt/graphviz/bin/dot
Dot executable is /usr/local/opt/graphviz/bin/dot
Dot version: dot - graphviz version 2.40.1 (20161225.0304)
Installation seems OK. File generation OK

language-plantuml

Atom は PlantUML ファイルを構文強調してくれません。
Preferences -> Install から language-plantuml を検索して、インストールします。

インストール後は、とくに設定する必要なく、構文強調されるようになります。

plantuml-preview

PlantUML ファイルをすぐにプレビューできるようにします。

Preferences -> Install から plantuml-preview を検索して、インストールします。

インストール後、Preferences -> Packages から plantuml-preview を検索して、以下の項目を設定します。

  • Graphvis Dot Executable

    • /usr/local/opt/graphviz/bin/dot
      • plantuml -version の実行結果の中にも記載されています。
  • PlantUML Jar

    • /usr/local/Cellar/plantuml/1.2019.5/libexec/plantuml.jar
      • インストールした PlantUML のバージョンによってパスが変わります。
      • find / -name "plantuml.jar" 2>/dev/null で検索するのがオススメ。

使い方

  • Atom で PlantUML ファイルを作成します。
  • メニューの Packages -> PlantUML Preview -> Toggle をクリックします。
  • プレビューが開きます。
  • ファイルを保存するたびに自動的に再描画してくれます。
    • ファイルを保存しないと再描画してくれないので注意

キーバインド

plantuml-preview では、デフォルトで以下のキーを使うことができます。

キー 動作
ctrl + alt + p プレビューの表示/非表示を切り替える
cmd + + 拡大する
cmd + = 拡大する
cmd + _ 縮小する
cmd + - 縮小する
cmd + 0 縮尺をリセットする
cmd + 9 縮尺をプレビュー画面に合わせる

PNGファイルの解像度

SVG で出力したらキレイなのに PNG で出力したら汚く見える場合は、PNG ファイルの解像度が低い可能性があります。
PlantUML ファイルで skinparam dpi 300 のように設定すると、解像度を大きくすることができます。

サンプル

例えば、以下のような適当なコードの場合。3

@startuml

'解像度設定
skinparam dpi 300

abstract class AbstractClass {
  # {abstract}getValue()
  # {abstract}prefixValue()
  + printOut()
}

interface Writable {
  + {abstract}write()
}

class ConcreteClass1 {
  # getValue()
  # prefixValue($prefix)
  + setValue($value)
  - $value
}

class ConcreteClass2 {
  # getValue()
  # prefixValue($prefix)
  + write()
}

AbstractClass <|-- ConcreteClass1
AbstractClass <|-- ConcreteClass2
Writable      <|-- ConcreteClass2

@enduml

プレビューすると、以下のように表示されます。

スクリーンショット 2019-05-02 19.16.47.png

参考


  1. Java のバージョンを 8 にすれば正常に動作するとかいう記事も見かけたけど、そこまでして使おうとは思わなかった。 

  2. ローカルホスト名(*.local)はアスタリスクで隠しました。 

  3. PHP 公式マニュアルの 抽象クラス に手を加えました。 

8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11