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编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一 个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台 ,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号