クラス図をRiderで書いてみたい
クラス図を勉強・利用したくてどのツールを使用するか調べていたところ、Riderのプラグインでも可能という記事を見つけ早速試してみました。実際に表示するまで結構苦労したので記事として残しておきます。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/Hellow-260x300.png)
PlantUML Intergration について
Riderで利用できるプラグインです。このプラグイン単体では期待の表示まで出来ませんでしたので、Riderのプラグイン以外にも、Homebrew経由で「Graphviz」をインストールしています。
下記 PlantUML Intergration 公式ページの下部にはドキュメントやライセンス、コードのリンクがありますので、詳しく知りたい方はそちらをご参照下さい。
https://plugins.jetbrains.com/plugin/7017-plantuml-integration
プラグインPlantUML Intergrationをインストールする
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_1-1024x771.png)
インストールしてプラグインを有効にする際、サードパーティ製である警告がでます。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_2-300x204.png)
(Google翻訳)
次のプラグインは JetBrains から提供されたものではありません: PlantUML 統合 (Eugene Steinberg、Vojtech Krasa) サードパーティのプラグインを使用すると、プラグイン ベンダーが個人データを処理する場合があります。 個人データの処理に関する詳細については、プラグイン ベンダーのドキュメントを確認してください。 JetBrains は、サードパーティのプラグイン ベンダーによる個人データの処理について責任を負いません。
プラグインを有効にする際に、Riderの再起動が必要です。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_3-300x135.png)
私の環境では、Riderの画面右側の縦タブに「PlantUML」のタブが表示され中には説明が記述されていました。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_3_1-300x287.jpg)
適当なテキストファイルを用意し下記を記述します。ファイル名はHellow.puとしています。
@startuml
Hello <|-- World
@enduml
画面上に何か表示されましたが、思っていたようなクラス図では表示されませんでした。
dot のファイルが無いのと、Graphvizが無いとあります。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_4-1024x546.png)
Graphvizは、クラス図の図形などを表示する為に使用するツールです。このGraphvizをインストールするにはまずHomebrewが必要です。
Homebrewがインストールされていない場合はインストールする必要があります。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/homebrew_icon-300x177.png)
下記コマンドを入力してEnterを押します。
brew install graphviz
インストールされたかバージョンを確認します。
dot -v
バージョン情報が表示され問題なさそうです。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/dot_version-1024x530.png)
libdir の部分にパスが表示されています、途中までのパスを使用するのでコピーしておきましょう。コンソールは閉じます。
/opt/homebrew/Cellar/graphviz/【バージョン】/
Riderの画面に戻り、設定から「Open Settings」を選択します。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_5-1024x546.png)
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_6-300x221.png)
設定画面中央にある、「Graphviz dot executable:」にdotまでのパスを指定します。
先程コピーしたバージョンまでのパスに「/bin」を付加して「Save」を押下します。
/opt/homebrew/Cellar/graphviz/【バージョン】/bin
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_7-1024x811.png)
左から2番めの「Reload PlantUml Diagrams」を押すと、期待していたクラス図が表示されました!
実際に使い始めるのはこれからなので、今回はここまでとなります。
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/plantuml_8-1024x546.png)
それっぽいものを書いてみる
@startuml
package Example
{
interface IBase
{
{abstract} aaa() // abstractです
{static} bbb() // staticです
}
class Base
{
- int _aaa // privateです
# string _bbb // protectedです
~ bool _ccc // package privateです
+ MyType _ddd // publicです
- int: aaa() // privateメソッドです
# int: bbb() // protectedメソッドです
~ int: ccc() // package privateメソッドです
+ int: ddd() // publicメソッドです
}
class Hoge
{
int: aaa
}
class Poge
{
int: aaa
}
enum MyType
{
One = 1,
Two = 2,
}
IBase <|-- Base
note on link:継承します
Base <|-- Hoge
note on link:継承します
Base <|-- Poge
note on link:継承します
note right of IBase: インターフェイスです
note right of Base: Baseクラスです
}
@enduml
![](https://createdevelopmentnote.com/wp-content/uploads/2022/09/Hellow.png)
環境バージョン情報
環境 | バージョン |
---|---|
チップ | Apple M2 |
macOS | Monterey 12.5.1 |
JetBrains Rider | 2022.2.2 |
Homebrew | 3.6.1 |
Graphviz dot | 6.0.1 |
コメント