Лучшие способы генерации UML из Emacs

19

Есть куча вариантов интеграции между Emacs и UML инструментов , как org-mode«S plantumlвложения , в plantumlосновном режиме и т.д. Конечно , я могу попробовать их , но мне интересно , что другие люди используют для процесса UML?

org-modeХорошей идеей будет встраивание в другой документ, например, делает или вывод сгенерированного uml в другой буфер, обновляемый в реальном времени. Я уверен, что у людей есть супер-милые функции elisp для автоматизации такого рода вещей!

Марк Ауффлик
источник
1
Скорее опоздал на вечеринку, но этот Q просто столкнулся с некоторыми ответами. Не могли бы вы сделать вопрос немного более дискретным и проблемным? Прямо сейчас «то, что используют другие люди», потребует много разных, основанных на мнении ответов, и такого рода вопросы и ответы не очень подходят для этого сайта.
Дан
Привет @ Дэн, я не против изменить вопрос (который, как вы говорите, староват), но люди, заявляющие, что они используют, являются фактическими, а не мнениями (даже если их мнения были вовлечены в решение, что использовать). Например, вы думаете, что лучше спросить «какие модули доступны для генерации UML и их ключевые функции»? Я не могу просто спросить «как я могу сгенерировать UML из Emacs», поскольку, как уже было сказано, я уже знаю несколько вероятных ответов на этот вопрос, но я хочу улучшить свои текущие варианты.
Марк Ауффлик
@ Дэн также, каковы ответы, которые столкнулись с этим? Самое последнее, что я вижу, это декабрь 14 года? Или сделать upvotes нить также?
Марк Ауффлик

Ответы:

20

Не уверен, хотите ли вы иметь преобразование UML из / в исходный код и т. Д., Но если вы хотите создавать и поддерживать их вручную, просто plantumlпотрясающе!

Простой Plantuml пример диаграммы последовательности:

Bob -> Alice : hello

Представленный результат простого примера Plantuml

Я успешно использую org-babelс plantuml(и Gnuplot и ditaa и ...) диаграммы и т.д. Работает как шарм, раз настроить , и HTML выход тоже выглядит удивительным , когда вы используете какой - либо один из org-modeстилей из там.

См. Также Zeekat's Emacs, работающий для меня, о том, как настроить org-babelи многие другие вкусности Emacs.

Затем есть точка graphviz , которую я собираюсь проверить, и, хотя она не специфична для UML, она также может быть использована в Emacs для создания диаграмм UMLy.

Пример простой точки:

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

Результат рендеринга простого точечного примера

И хотя мы это делаем, хотя и не связаны с UML, org-babel-gnuplot показывает, как использовать чрезвычайно универсальный gnuplot в Emacs.

Евгений Бересовский
источник
7

Я просто соберу свой рог и упомяну wsd-mode. Он также имеет частичную поддержку org-babel, что означает, что вы можете буквально встраивать свой UML в свои документы в режиме org и экспортировать результат в действительный HTML-документ или аналогичный.

По сравнению с ним plantuml-mode, поддержка подсветки синтаксиса и отступов явно и объективно выше. Он также прекрасно интегрируется с flycheckи company-mode.

Если вы думаете, что все эти «маленькие» вещи имеют значение, wsd-modeвозможно, вам лучше подойдет.

В отличие от этого plantuml-mode, он не зависит от Java или других двоичных файлов, но вместо этого использует веб-сервис SaaS для генерации диаграмм.

Это делает его более гибким и портативным, и для кого-то это может быть лучше, но главное - чтобы он работал, вам нужно быть в сети.

Йостейн Кьёнигсен
источник
3

[ПРЕДУПРЕЖДЕНИЕ] Зависимость мыши

Как насчет artist-mode+ ditaa?

artist-mode- Мышь использует ящик в стиле ASCII, как простой аналог Monodraw для macOS. На выходе у нас есть текстовый файл в графике ASCII.

ditaa - Может конвертировать ваш текстовый файл в изображение / HTML и т. д.

полезно начать использовать emacs для сборки UML. Но так использовать мышь так сложно. Однако, я ненавижу мышь, как и большинство пользователей emacs, и я использую plantUML в режиме org. Его клавиатура дружественный и эпический полезный инструмент для любых стилей UML.

Пример использования

Артис-режим

ditaa

Bimawa
источник
Что насчет них? Пожалуйста, покажите, как они связаны с вопросом. В противном случае это может привести к удалению в виде «только для ссылки». Спасибо.
Дрю
@ Я не знаю, как показать это в ТАКОМ формате. Я просто добавляю пример видео, основанного на YouTube.
Bimawa
Пожалуйста, попробуйте описать, что вы думаете, что эти вещи могут предложить, чтобы ответить на вопрос.
Дрю
@ Обратись, пожалуйста, проверь меня снова.
Бимава
Хорошо, спасибо за усилия. Надеюсь, это будет понятнее некоторым читателям.
Дрю