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

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

同樣的時(shí)序圖:
@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.》

可以分析出幾個(gè)關(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 官方賬號(hào)
官方推文對(duì)此問(wèn)題有說(shuō)明。
新的版本修改了默認(rèn)的主題,可以使用 skin rose 來(lái)使用舊的主題。

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

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

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

4、總結(jié)
只要思想不滑坡,辦法總比困難多。
遇到問(wèn)題,可以嘗試使用多種方法定位和解決問(wèn)題。
到此這篇關(guān)于IDEA 高版本 PlantUML 插件默認(rèn)主題修改的文章就介紹到這了,更多相關(guān)IDEA PlantUML主題修改內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何基于ThreadPoolExecutor創(chuàng)建線程池并操作
這篇文章主要介紹了如何基于ThreadPoolExecutor創(chuàng)建線程池并操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Java中的List和MySQL中的varchar相互轉(zhuǎn)換的解決方案
實(shí)體類(lèi)中有一個(gè) List<String> 類(lèi)型的屬性,對(duì)應(yīng)于 MySQL 表里的 varchar 字段,使用 MyBatis 添加或查詢時(shí)能互相轉(zhuǎn)換,本文給大家介紹Java中的List和MySQL中的varchar相互轉(zhuǎn)換的解決方案,需要的朋友可以參考下2024-06-06
springboot入門(mén)篇HelloWorld(圖文教程)
springboot?springboot是一個(gè)全新的框架,它設(shè)計(jì)的目的簡(jiǎn)化spring項(xiàng)目的初始環(huán)境的搭建和開(kāi)發(fā),下面這篇文章主要給大家介紹了關(guān)于springboot入門(mén)篇HelloWorld的相關(guān)資料,需要的朋友可以參考下2023-12-12
Java并發(fā)編程之關(guān)鍵字volatile的深入解析
提高java的并發(fā)編程,就不得不提volatile關(guān)鍵字,不管是在面試還是實(shí)際開(kāi)發(fā)中volatile都是一個(gè)應(yīng)該掌握的技能,這篇文章主要給大家介紹了關(guān)于Java并發(fā)編程之關(guān)鍵字volatile的相關(guān)資料,需要的朋友可以參考下2021-09-09
Java編程常見(jiàn)內(nèi)存溢出異常與代碼示例
這篇文章主要介紹了Java編程常見(jiàn)內(nèi)存溢出異常與代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
基于synchronized修飾靜態(tài)和非靜態(tài)方法
這篇文章主要介紹了基于synchronized修飾靜態(tài)和非靜態(tài)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
聊聊@Autowired注解注入,寫(xiě)接口名字還是實(shí)現(xiàn)類(lèi)的名字
這篇文章主要介紹了聊聊@Autowired注解注入,寫(xiě)接口名字還是實(shí)現(xiàn)類(lèi)的名字,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java設(shè)計(jì)模式之命令模式詳細(xì)解析
這篇文章主要介紹了Java設(shè)計(jì)模式之命令模式詳細(xì)解析,命令模式將請(qǐng)求封裝成對(duì)象,以便使用不同的請(qǐng)求、隊(duì)列或者日志來(lái)參數(shù)化其他對(duì)象,同時(shí)也支持可撤銷(xiāo)的操作,需要的朋友可以參考下2024-01-01

