从Emacs生成UML的最佳方法


19

Emacs和UML工具之间有很多集成选项,例如org-modeplantuml嵌入plantuml主要模式等。当然我可以尝试一下,但是我想知道其他人在UML工作流程中使用什么吗?

像dos一样嵌入到另一个文档org-mode中是一个不错的主意,或者将生成的uml输出到实时更新的另一个缓冲区中也是很好的。我敢肯定那里的人有一些超可爱的elisp函数可以自动化这种事情!


1
参加聚会的时间不算太晚,但是这个问题被一些答案所困扰。您能否使问题更加离散和面向问题?现在,“其他人使用什么”将征求许多不同的,基于意见的答案,而这种问答方式并不适合该站点。
Dan

@Dan,您好,我不反对更改此问题(正如您所说的那样是过时的),但是人们说他们使用的是事实而不是意见(即使他们的意见涉及决定使用什么)。例如,您是否认为最好问“哪些模块可用于生成UML及其关键功能”?我不能仅仅问“如何在Emacs中生成UML”,因为如上所述,我已经知道了该问题的许多合理答案,但是我想改进当前的选择。
Mark Aufflick '16

@丹也碰到什么答案呢?我最近看到的是14年12月?还是也对颠簸螺纹进行投票?
Mark Aufflick '16

Answers:


20

不知道您是否要从源代码到源代码之间进行UML转换,但是如果您想手动创建和维护它们,那就plantuml麻烦了!

序列图的简单植物示例:

Bob -> Alice : hello

简单植物示例的渲染结果

我已经成功地使用org-babelplantuml(以及gnuplot和ditaa和...)图等。工作原理非常吸引人,一旦设置好,当您使用其中任何org-mode样式表时,html输出看起来也很棒。

另请参阅Zeekat的使Emacs为我工作关于如何设置org-babel以及许多其他Emacs优点。

然后是graphviz的,我将要检查该,虽然它不是UML特有的,但也可以在Emacs中使用它来做UMLy图。

简单的点示例:

graph graphname { 
                a -- b; 
                b -- c;
                b -- d;
                d -- a;
        }

简单点示例的渲染结果

尽管我们完全不涉及UML,但org-babel-gnuplot展示了如何在Emacs中使用功能极为丰富的gnuplot


7

我只会嘟嘟嘟mention wsd-mode。它还部分支持org-babel,这意味着您可以将UML真正嵌入到组织模式文档中,并将结果导出到有效的HTML文档或类似文档中。

与相比plantuml-mode,它对语法高亮和缩进的支持明显和客观地优越。它还与flycheck和很好地集成在一起company-mode

如果您认为所有这些“小”事情都很重要,则wsd-mode可能更适合您。

与不同的是plantuml-mode,它不依赖Java或其他二进制文件,而是使用SaaS Web服务来生成图。

这使其更具即插即用性和可移植性,对于某些人来说可能更合适,但要注意的是您必须在线才能使其工作。



3

[警告]鼠标依赖性

artist-mode+ ditaa呢?

artist-mode-鼠标使用ASCII样式的抽屉,例如用于macOS的简单模拟Monodraw。在出口处,我们有ASCII图形式的文本文件。

ditaa -可以将您的文本文件转换为图片/ html等

它对于开始使用emacs生成UML很有用。但是这种方式很难用鼠标。但是,像大多数emacs用户一样,我讨厌鼠标,并且在组织模式下使用plantUML。它的键盘友好且史诗般的有用工具,适用于任何uml样式。

用例示例

动脉模式

迪塔


那他们呢 请显示它们与问题的关系。否则,这有可能被删除为“仅链接答案”。谢谢。
Drew

@Drew我不知道如何以SO格式显示它。我只是添加在youtube中创建的Example video。
比马瓦

请尝试描述您认为这些事情可以回答该问题的内容。
提请

@提请再次检查我。
Bimawa '17

好的,谢谢您的努力。我希望对某些读者来说更清楚。
Drew
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.