みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

PlantUMLをemacsから使用する(puml-mode)

以前からPlantUMLには興味が合ったが、emacsから便利に利用できそうなモードを見つけたので試してみる。

依存パッケージのインストール

$ sudo apt-get install graphviz default-jre

plantuml.jarのダウンロード

puml-modeのデフォルトでは~/plantuml.jarにplantuml本体があることを想定しているので、 以下のコマンドでダウンロードを行う。

$ cd
$ wget http://jaist.dl.sourceforge.net/project/plantuml/plantuml.jar

MELPAの有効化

emacs24ではpackage.elなどはすでに設定済みなので、init.elにMELPAの設定を追加するだけで良い。(init.el修正後はemacs再起動かeval-bufferを実行すること)

(require 'package) ;;この行は環境によっては必要ない
(add-to-list 'package-archives
             '("melpa" . "http://melpa.org/packages/"))

この後にemacsで以下のコマンドを実行し、puml-modeが見つかればOK。

M-x package-refresh-contents<RET>
M-x package-list-packages<RET>

puml-modeのインストール

emacsで以下のコマンドを実行する。

M-x package-install<RET>
puml-mode<RET>

メジャーモードを有効化

init.elに以下を追加する。

;; Enable puml-mode for PlantUML files
(add-to-list 'auto-mode-alist '("\\.puml\\'" . puml-mode))
(add-to-list 'auto-mode-alist '("\\.plantuml\\'" . puml-mode))

これにより「.puml」および「.plantuml」の拡張子のファイルを読み込むと、puml-modeが起動される様になる。

使ってみる

READMEの例に習い以下の様にpumlファイルを作成してみる。

developer -> emacs: "Draw me a diagram"
emacs -> developer: "Here you are, sir"
developer -> world: "Wooooohooooo!!"

emacsで以下のコマンドを実行する。

M-x puml-preview<RET>

シーケンス図が表示される。

f:id:mickey_happygolucky:20160121003742p:plain

※デフォルトではsvg形式

出力形式の変更

下記のコマンドを実行してpuml-previewをすると、出力形式を変更することができる。

M-x puml-set-output-type<RET>
png<RET>

plantuml自体は他の形式も出力できるが、puml-modeでプレビューできるのは下記の3つ

形式 備考
svg デフォルト
png -
utxt Unicodeによるアスキーアート

いい感じだ。