Visual Studio Code 的丰富 PlantUML 支持。
本扩展现在强烈推荐使用服务器渲染,因为它更快且更易于设置,而主要的缺点已得到改进:
POST 方法,现在您可以渲染非常大的图表include 处理器,您不会再遇到 include 问题为确保您能从此更新中受益,请确保您的 plantuml 服务器启用了 POST 支持。
如果没有,比如官方的 https://www.plantuml.com/plantuml,扩展将回退使用 GET,您可能仍会遇到 414 URI 过长 错误。建议设置您自己的服务器。
注意:如果您使用自定义的
plantuml.jar,请更新到最新版本以启用多页图表支持。(晚于V1.2017.15)
格式化 PlantUML 代码已 弃用。不要依赖它,只在它正常工作时使用。我已在自动格式化情况下(保存时格式化)强制禁用它。
*.wsd, *.pu, *.puml, *.plantuml, *.iuml
启动 VS Code 快速打开(Ctrl+P),粘贴以下命令,然后按回车。
ext install plantuml
根据您选择的渲染方式,插件有不同的要求。
一个 plantuml 服务器。参见使用 PlantUML 服务器作为渲染器。
必须安装以下内容:
brew install --cask temurin brew install graphviz
插件集成了 plantuml.jar 和 GraphViz 的副本,所以通常您已经可以使用了。 但如果您想使用自己的 jar 或不同版本的 GraphViz(可能是更新的版本,或有许多依赖 jar):
plantuml.jar 或使用 chocolatey 安装(见下文)。plantuml.jar 指定 jar 位置。GRAPHVIZ_DOT 指定 GraphViz 安装,例如,如果您使用 chocolatey 安装了 plantuml(它自动安装最新的 GraphViz 作为依赖),则为 c:\program files\graphviz\bin\dot.exe。对于 Windows 用户,majkinetor 介绍了一种轻松安装 plantuml 及其依赖的方法。
以管理员身份运行 cmd.exe,然后运行以下两个命令(如果您已经安装了 chocolatey,则不需要第一个命令,它会失败)。
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" choco install plantuml
如果您已安装 Java,但仍提示"未安装 Java",请将 Java bin 路径添加到
PATH环境变量中。
plantuml.diagramsRoot 和 plantuml.exportOutDir 设置组织,例如:"plantuml.diagramsRoot": "docs/diagrams/src", "plantuml.exportOutDir": "docs/diagrams/out"
您将得到如下的导出结果:
项目文件夹/
  docs/
    diagrams/
      src/
        architecture_overview.wsd
      out/
        architecture_overview/
          architecture_overview.png
  ...项目其他文件夹/
  ...项目其他文件 
最新版本再次更改了 include 文件搜索逻辑。 现在可以在 settings.json 中配置 includepaths。
新的搜索顺序如下:
includepaths"plantuml.includepaths": ["docs/diagrams/style","docs/diagrams/src"],
diagramsRoot不再需要 includeSearch 设置,因为 plantuml 文件的文件夹和 diagramsRoot 始终都在 include 路径中。
对于新项目,建议不要依赖 diagramsRoot,而是显式配置所有必需的 includepaths。
感谢 anotherandi 提供的出色想法和实现!
预览页面提供各种缩放/平移操作和对齐功能:
例如,对齐底部在编写长活动图时很有用,它可以帮助您保持焦点在底部的最新部分。
自动更新:

缩放和滚动:

多页视图:

导出图表:




如果
editor.formatOnSave开启,PlantUML 格式化器将被禁用(自 v2.8.3 起)。 因为根据用户反馈,格式化器不够可靠。

此插件集成了所有类型的图表代码片段。它们被分为 9 个部分:
diagram: 通用图表元素的代码片段。activity: 活动图的代码片段。class: 类图的代码片段。component: 组件图的代码片段。state: 状态图的代码片段。usecase: 用例图的代码片段。sequence: 序列图的代码片段。ui: salt图的代码片段。egg: 一些有趣图表的代码片段,如数独、地球。例如,输入acife(简短版本)可触发以下代码片段(activity➤if・else):
if (cond1?) then (val1) else (val2) endif

按Ctrl+Shift+O列出文件中的所有图表。您可以在图表开始时为其命名。
@startuml 图表名称 sudoku @enduml
插件支持两种渲染方式:本地和PlantUMLServer。
本地是默认的传统方式。如果您更关心导出速度,应该尝试PlantUMLServer。
本地: 6个文档, 9个图表, 14个文件导出用时24.149秒 PlantUMLServer: 6个文档, 9个图表, 14个文件导出用时1.564秒
优点:
plantuml.exportConcurrency,因为并发性是无限的。缺点:
!include的图表。plantuml.jar、plantuml.commandArgs、plantuml.jarArgs。要渲染包含include支持的超大图表,请确保您的plantuml服务器启用了
POST支持。如果没有,比如官方的https://www.plantuml.com/plantuml,扩展会回退使用
GET,您可能仍会遇到414 URI太长错误。建议设置您自己的服务器。
您的团队可能已经有了PlantUML服务器,找到服务器地址,如:http://192.168.1.100:8080。
如果没有,请按照说明进行设置,推荐使用Docker运行。找到服务器地址,如:http://localhost:8080或http://192.168.1.100:8080,可以与团队共享。
在本地机器上运行PlantUML服务器的另一种选择是使用内置的picowebserver,可以简单地运行java -jar plantuml.jar -picoweb,在这里阅读更多信息:https://plantuml.com/picoweb
打开用户设置,配置如下:
"plantuml.server": "http://192.168.1.100:8080", "plantuml.render": "PlantUMLServer",
欢迎翻译。lang.nls.json, package.nls.json


仍推荐使用@startuml / @enduml,这样Markdown中的PlantUML代码可以被此插件的其他功能管理。
此扩展提供以下设置。
渲染选择:
plantuml.render: 为导出和预览选择图表渲染器。PlantUMLServer渲染设置:
plantuml.server: 用于即时生成UML图的PlantUML服务器。本地渲染设置:
plantuml.java: Java可执行文件位置。plantuml.commandArgs: 允许您向java命令添加命令参数,如-DPLANTUML_LIMIT_SIZE=8192。plantuml.jar: 替代plantuml.jar位置。留空以使用集成jar。plantuml.jarArgs: 允许您向plantuml.jar添加参数,如-config plantuml.config。plantuml.includepaths: 指定除源文件夹和diagramsRoot之外的包含路径。导出设置:
plantuml.diagramsRoot: 指定所有图表文件所在位置(相对于工作区文件夹)。plantuml.exportOutDir: 导出的工作区图表将组织在此目录中(相对于工作区文件夹的路径)。plantuml.fileExtensions: 要查找并导出的文件扩展名。特别是在工作区设置中,您可以添加自己的扩展名,以便导出源代码文件中的图表,如".java"。plantuml.exportFormat: 导出格式。默认未设置,用户每次导出时可能选择一种格式。如果不想每次选择,您仍可以设置一种格式。plantuml.exportSubFolder: 将图表导出到与主文件同名的文件夹中。plantuml.exportIncludeFolderHeirarchy: 在导出的文件路径中包含根目录和源图表之间的文件夹层次结构。plantuml.exportConcurrency: 决定导出多个图表时的并发数。plantuml.exportMapFile: 决定导出时是否导出图像映射(.cmapx)文件。预览设置:
plantuml.previewAutoUpdate: 决定是否自动更新预览窗口。其他设置:
plantuml.urlFormat: URL格式。留空以在每次生成URL时选择格式。plantuml.urlResult: URL结果类型。简单URL或准备用于Markdown。plantuml.lintDiagramNoName: 决定图表未命名时是否进行检查。请在GitHub上发布和查看问题
感谢您的鼓励!
Claus Appel, 三島木一磨, 富吉佑季, 黒田悦成, Jared Birdsall, Suleyman Cabir Ciplak, Malcolm Learner, Сысоев Максим, Gokan Kenichi, anb0s, Lawrence Yarian, Ahmad Ragab, 山田暁通
享受使用!


企业专属的AI法律顾问
iTerms是法大大 集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部 署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。


AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。


一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号