IDEA?高版本?PlantUML?插件默認(rèn)主題修改的詳細(xì)過程
一、問題描述
1.1 背景
PlantUML 是非常不錯的使用腳本畫圖的工具,效率很高。
大家可以選擇在官網(wǎng)上進(jìn)行作圖,但很多人會擔(dān)心公司內(nèi)部業(yè)務(wù)圖泄露的風(fēng)險,而且每次都要打開官網(wǎng)也不是很方便。
很多人會選擇在 IDEA 中安裝 PlantUML Integration 插件。
但是高版本的 IDEA PlantUML Integration 插件默認(rèn)的主題和之前的完全不一樣, 顏色偏暗,不同的組件很難區(qū)分開。
其實(shí)不僅是插件里,在官網(wǎng)上寫同樣的腳本,默認(rèn)的主題也是一樣的情況。
那么如何解決?
1.2 示例對比
同樣的腳本。
之前的的效果是這樣的:

現(xiàn)在的效果是這樣的:

同樣的時序圖:
@startuml participant Participant as Foo actor Actor as Foo1 boundary Boundary as Foo2 control Control as Foo3 entity Entity as Foo4 database Database as Foo5 collections Collections as Foo6 queue Queue as Foo7 Foo -> Foo1 : To actor Foo -> Foo2 : To boundary Foo -> Foo3 : To control Foo -> Foo4 : To entity Foo -> Foo5 : To database Foo -> Foo6 : To collections Foo -> Foo7: To queue @enduml
之前的效果是這樣的:

現(xiàn)在的效果是這樣的:

為什么?要如何處理呢?
二、為什么?
2.1 官網(wǎng)線索
根據(jù)官網(wǎng)上的更新日志可以發(fā)現(xiàn)一些端倪。
https://plantuml.com/zh/news
《16 Feb, 2022: You can restore the old theme using skin rose directive.》

可以分析出幾個關(guān)鍵點(diǎn):
1 之前的樣式其實(shí)是一種 theme (主題)
2 現(xiàn)在默認(rèn)的主題已經(jīng)和之前不同了
3 可以使用在 @startuml 后添加 skin rose 恢復(fù)之前的樣式
2.2 插件源碼
https://github.com/esteinberg/plantuml4idea/
搜索 theme 關(guān)鍵字也可以找到一些線索。

2.3 官方賬號
官方推文對此問題有說明。
新的版本修改了默認(rèn)的主題,可以使用 skin rose 來使用舊的主題。

三、怎么辦?
3.1 單圖處理
對于某個圖形而言,可以在 @startuml 后添加 skin rose 來恢復(fù)使用老的主題。
雖然麻煩一些,但也挺有用。

3.2 一勞永逸
每個圖形都要加上 skin rose 很麻煩,怎么辦?
可以在 插件的設(shè)置中配置,每個 @startuml 后都自動加 skin rose。

這樣就不需要每個 puml 文件都加 skin rose 就可以使用老的主題了。

4、總結(jié)
只要思想不滑坡,辦法總比困難多。
遇到問題,可以嘗試使用多種方法定位和解決問題。
到此這篇關(guān)于IDEA 高版本 PlantUML 插件默認(rèn)主題修改的文章就介紹到這了,更多相關(guān)IDEA PlantUML主題修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何基于ThreadPoolExecutor創(chuàng)建線程池并操作
這篇文章主要介紹了如何基于ThreadPoolExecutor創(chuàng)建線程池并操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Java中的List和MySQL中的varchar相互轉(zhuǎn)換的解決方案
實(shí)體類中有一個 List<String> 類型的屬性,對應(yīng)于 MySQL 表里的 varchar 字段,使用 MyBatis 添加或查詢時能互相轉(zhuǎn)換,本文給大家介紹Java中的List和MySQL中的varchar相互轉(zhuǎn)換的解決方案,需要的朋友可以參考下2024-06-06
Java并發(fā)編程之關(guān)鍵字volatile的深入解析
提高java的并發(fā)編程,就不得不提volatile關(guān)鍵字,不管是在面試還是實(shí)際開發(fā)中volatile都是一個應(yīng)該掌握的技能,這篇文章主要給大家介紹了關(guān)于Java并發(fā)編程之關(guān)鍵字volatile的相關(guān)資料,需要的朋友可以參考下2021-09-09
基于synchronized修飾靜態(tài)和非靜態(tài)方法
這篇文章主要介紹了基于synchronized修飾靜態(tài)和非靜態(tài)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
聊聊@Autowired注解注入,寫接口名字還是實(shí)現(xiàn)類的名字
這篇文章主要介紹了聊聊@Autowired注解注入,寫接口名字還是實(shí)現(xiàn)類的名字,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11

