普段はUbuntu上のEmacsでPlantumlを使っていて,X64のUbuntu上のVSCodeでもサブ的に使ったりしているのですが,
少し試しにWindowsのVSCodeでもと思ってインストールしてみたらあっさり動きました。
一応その環境のことを書きます。
質問者さんが試したことには何一つ確定的なことは書いてなくて,これでは回答できんよねという感じです。
うまくいった,こちらの環境の情報は次の通りです。
- Visual Studio Code: バージョン 1.63.2
- 拡張機能PlantUML: バージョン 2.16.1
- OS: Windows_NT x64 10.0.19043
- glaphvizのイントールなし(このため旧アクティビティ図等は描画不可)
- PATHが通っているjava: 16.0.2+7-67 (64bit)
(コマンドプロンプトからjava -version
で確認)
- setting.json内には"plantuml.*"の設定は特になし
で,動かないならどういう可能性があるか?というところですが,
個人的に気になるところはjavaが複数入っていてPATHの最初のjavaがうまく動作していない可能性です。
別でインストールしているcygwin64のwhich
コマンドで確認すると,私の環境でもjava
コマンドが三つあり,
2つ目のjavaコマンドはjava8の32bit版だったり,3つ目に通っているコマンドは実行不能だったりするので,
64bit版でちゃんと動くjavaがあるフォルダをPATHの最初に通すのがポイントかな?と思います。
また,VSCodeが64bit版なら,javaとglaphvizのバージョンも64bit版に揃えておいた方がいいかと思います。
もう一つはうっかり無意識に設定を変更して,描画をローカルでなくサーバーで設定している可能性です。
もちろんサーバーでもうまくいく設定はあるのですが,ここに大きな罠が隠されているようです。
設定:PlantUML設定:Render
をPlantUMLServer
に設定すると,
設定:PlantUML設定:Server
の設定は暗黙でhttps://www.plantuml.com/plantuml
に設定されるようですが,
実はこれだとうまく描画されないようです。
色々調べると
個別に設定:PlantUML設定:Server
の設定をhttp://www.plantuml.com/plantuml
に設定するとうまくいくようです。
なお,家でたてているサーバーでletsEncryptによるplantumlで試してもhttps
ではうまく
描画できないようです。
ところがこの「Server」の欄に
「You may use official server https://www.plantuml.com/plantuml if you feel OK toshare data with it」
と書かれていて,あたかもhttps://www.plantuml.com/plantuml
ならうまくいくような印象操作がされていますが,
私が使っている環境ではうまくいきませんでした。
まぁこれは使っているjavaのバージョンによっても挙動が変わると思うので,
この限りではないと思うのですが地雷っぽいのでここに記しておきます。