• IDEA 高版本 PlantUML 插件默认主题修改


    一、问题描述

    1.1 背景

    PlantUML 是非常不错的使用脚本画图的工具,效率很高。
    大家可以选择在官网上进行作图,但很多人会担心公司内部业务图泄露的风险,而且每次都要打开官网也不是很方便。

    很多人会选择在 IDEA 中安装 PlantUML Integration 插件。
    但是高版本的 IDEA PlantUML Integration 插件默认的主题和之前的完全不一样, 颜色偏暗,不同的组件很难区分开。

    其实不仅是插件里,在官网上写同样的脚本,默认的主题也是一样的情况。
    那么如何解决?

    1.2 示例对比

    同样的脚本。
    之前的的效果是这样的:
    image.png

    现在的效果是这样的:
    image.png

    同样的时序图

    @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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    之前的效果是这样的:
    image.png

    现在的效果是这样的:
    image.png
    为什么?要如何处理呢?

    二、为什么?

    2.1 官网线索

    根据官网上的更新日志可以发现一些端倪。
    https://plantuml.com/zh/news
    16 Feb, 2022: You can restore the old theme using skin rose directive.》
    image.png

    可以分析出几个关键点:
    1 之前的样式其实是一种 theme (主题)
    2 现在默认的主题已经和之前不同了
    3 可以使用在 @startuml 后添加 skin rose 恢复之前的样式

    2.2 插件源码

    https://github.com/esteinberg/plantuml4idea/
    搜索 theme 关键字也可以找到一些线索。
    image.png

    2.3 官方账号

    官方推文对此问题有说明。
    新的版本修改了默认的主题,可以使用 skin rose 来使用旧的主题。
    image.png

    三、怎么办?

    3.1 单图处理

    对于某个图形而言,可以在 @startuml 后添加 skin rose 来恢复使用老的主题。
    虽然麻烦一些,但也挺有用。
    image.png

    3.2 一劳永逸

    每个图形都要加上 skin rose 很麻烦,怎么办?
    可以在 插件的设置中配置,每个 @startuml 后都自动加 skin rose
    image.png

    这样就不需要每个 puml 文件都加 skin rose 就可以使用老的主题了。
    image.png

    4、总结

    只要思想不滑坡,办法总比困难多。
    遇到问题,可以尝试使用多种方法定位和解决问题。


    创作不易,如果本文对你有帮助,欢迎点赞、收藏加关注,你的支持和鼓励,是我创作的最大动力。
    在这里插入图片描述

  • 相关阅读:
    Qt+ECharts开发笔记(四):ECharts的饼图介绍、基础使用和Qt封装百分比图Demo
    学习随手记ComboBoxEx选定项的值value和text值获取方法
    js的cookie设置
    电脑硬件——主板
    Hibernate 一级缓存,二级缓存,查询缓存
    【C++】哈希-bitset位图与模拟
    C Primer Plus(6) 中文版 第1章 初识C语言 1.1 C语言的起源 1.2 选择C语言的理由 1.3 C语言的应用范围
    javaweb——JSP
    UiPath快捷键
    Docker安装、入门及VSCode链接(地平线OE docker镜像)
  • 原文地址:https://blog.csdn.net/w605283073/article/details/126791807