白黒羊

白黒羊

白黒羊

  • Home
  • Products
  • News
  • Support
  • Contact

SHIROKUROHITSUJI

RiderでPlantUMLを使ってUnityのためのクラス図を書く

2019年4月29日Rider, Unity, 設計 By: shimahinuko

Riderでもクラス図を書きたい!

クラス図を書くにはVisual Studioを使わないといけないのかなと思っていたのですが、Riderでも書けたのでメモしておきます。
Unityプロジェクトでの使用を考えていますがUnity以外でももちろん使えます。

PlantUMLのインストール

(Windows) [File] > [Settings] > [Plugins]
(Mac) [JetBrains Rider] > [Preferences] > [Plugins]
「PlantUML Integration」の「Install」をクリックします。

Riderを再起動しろと言ってくるので表示にしたがって再起動してください。

Rider EAPでPlantUMLを使ってみる – Qiita

Graphviz

ダウンロード

Graphviz はグラフデータ構造を可視化するツールです。
PlantUMLの可視化に使うのでダウンロードしましょう。
Graphviz – Graph Visualization Softwareの「Download」からStable版をダウンロードします。
私はWindowsを使っているので、.msiファイルをダウンロードしてインストールしました。
他のOSからのインストールの方法も記載がありました。

dot.exeの設定

PlantUMLの「Graphviz dot executable」の設定

右上の赤枠のところに今インストールしたファイル群に含まれる「dot.exe」を指定します。

Windows で Graphviz のインストール

PlantUML Config

お好みですが見た目を良い感じにするために下記リンクのようなことを「PlantUML Config」欄に書いておきます。

plantuml の style をモダンにする — Think Abstract

PlantUMLの起動

「PlantUML」ウィンドウを開く

[View] > [Tool Windows] > [PlantUML] でPlantUMLウィンドウを開きます。

PlantUMLファイルを開くまでは使い方(英語)が表示されているので、それを読んでから使います。

新規.pumlファイルの追加

まずは、[File] > [Settings] を開き、 [Editor] > [File Templates] > [Other languages] にPlantUMLファイルを追加してあげます。

PlantUMLファイルを追加する設定

左上の [+] ボタンを押して「Name」を「PlantUML」、「extension」を[puml」にします。
pumlのテンプレートを持っていれば、その下の空間に書いておくと自動で表示されるので便利です。
私は何を書けば良いのかわからなかったので、とりあえず始まりと終わりのコマンドだけ書いておきました。
この設定ができたら [Save] を押して [settings] ウィンドウを閉じます。

そして、Riderの「Explorer」Viewのモードが「Unity」だと「Assets」フォルダと「Packages」フォルダしか表示してくれないので、「FileSystem」モードに切り替えます。

「Explorer」の表示モードを「FileSystem」に切り替える

今回はUnityのプロジェクトフォルダ直下に「UML」フォルダを作り、その中にPlantUMLファイルを入れることにしました。
この辺のフォルダ構成はたぶんもっと適切な方法がある気がします。知りたいです。
作った「UML」フォルダを [右クリック] > [Add] > [PlantUML] でPlantUMLファイルを作ります。

新規PlantUMLファイルを追加する
@startuml

class Object {
 +equals()
}

class ArrayList {
 -Object[] elementData
 +size()
}

class Dummy {
 -field1
 #field2
 ~method1()
 +method2()
}

Object <|-- ArrayList

@enduml

この辺のPlantUMLファイルのUnityでのゲーム設計用テンプレートないのかな……。
クラス図作っていくうちにできていくのか……。

これを書くと、PlantUMLウィンドウにクラス図が表示されました。やった!!

PlantUMLウィンドウに表示されるクラス図

画像として保存もできるので便利です。

最後に

ここまででようやくクラス図を書く準備ができただけなので、これから実際に書き方を勉強して書くことになります。

また、Riderでは「@startuml」「@enduml」には色付けてくれるのですが、「misc files」扱いになってしまうので、.pumlファイルのシンタックスハイライトはできませんでした。
大人しく「VisualStudio」+「Reshaper」使うとかJetBrains使うにしても「IntelliJ IDEA」にするとかが楽そう(結局)。

クラス図を書く上での参考リンク集

  • 公式のチートシート : クラス図の構文と機能
  • ogomrさんのチートシート : PlantUML Cheat Sheet – Qiita
  • とりすーぷさんのUnityにおける設計についてのスライド
Unity開発で使える設計の話+Zenjectの紹介 from torisoup
Share:

Previous

sudoできない状況でもg++を8.3.0にアップデートする

Next

パッケージマネージャ「yarn」を使ったら「00h00m00s 0/0: : ERROR: There are no scenarios; must have at least one.」と怒られてしまったときの話

Leave a Comment コメントをキャンセル

カテゴリー

  • CFD (9)
    • OpenFOAM (9)
  • Design (6)
    • Adobe_XD (2)
    • Font (3)
    • Photoshop (2)
  • Diary (4)
  • Event (9)
    • AdventCalendar (3)
    • unity1week (6)
  • Git (3)
    • GitLab (2)
  • Programming (6)
    • C# (2)
      • Rider (1)
    • C++ (2)
    • javascript (2)
  • Unity (22)
    • Editor拡張 (1)
    • TextMeshPro (2)
    • UniTask (2)
    • UnityAsset (8)
    • UnityCloudBuild (2)
    • WebGL (2)
  • ゲーム (2)
    • 冠を持つ神の手 (2)
  • 機械学習 (1)
  • 開発 (19)
    • Admob (3)
    • Android (2)
    • Database (1)
      • MySQL (1)
    • DiscordAPI (2)
    • iOS (2)
    • PlayFab (1)
    • Web (2)
      • AmazonS3 (2)
      • Heroku (1)
      • RestAPI (1)
      • WordPress (1)
    • 虹の降る海 (6)
    • 設計 (1)
2019年4月
日 月 火 水 木 金 土
 123456
78910111213
14151617181920
21222324252627
282930  
« 2月   5月 »

アーカイブ

  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年5月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年2月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月

カテゴリー

  • Admob
  • Adobe_XD
  • AdventCalendar
  • AmazonS3
  • Android
  • C#
  • C++
  • CFD
  • Database
  • Design
  • Diary
  • DiscordAPI
  • Editor拡張
  • Event
  • Font
  • Git
  • GitLab
  • Heroku
  • iOS
  • javascript
  • MySQL
  • OpenFOAM
  • Photoshop
  • PlayFab
  • RestAPI
  • Rider
  • TextMeshPro
  • UniTask
  • Unity
  • unity1week
  • UnityAsset
  • UnityCloudBuild
  • Web
  • WebGL
  • WordPress
  • 冠を持つ神の手
  • 機械学習
  • 虹の降る海
  • 設計
  • 開発

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org