Artículo
· 7 mar, 2025 Lectura de 4 min

Plugin moderno y fácil de usar para VSCode de InterSystems ObjectScript: Visualización de diagramas de clases con PlantUML

Motivación

Empecé a programar en 2015, cuando estaba haciendo la carrera de informática. No conocía ObjectScript hasta que empecé en mi nuevo trabajo hace cuatro meses. ObjectScript en realidad no es un lenguaje de programación joven. Comparado con C++, Java y Python, la comunidad no es tan activa, pero queremos hacer que este espacio sea más dinámico, ¿verdad?  

Me he dado cuenta de que a algunos de mis compañeros les cuesta entender las relaciones entre clases en estos proyectos tan enormes. No hay ninguna herramienta moderna y fácil de usar para crear diagramas de clases en ObjectScript.

Trabajos relacionados

He probado trabajos relevantes:

- Vista de clases de InterSystems:  

1. https://github.com/intersystems-community/ClassExplorer  
Es un gran trabajo y el diagrama de clases se ve muy bien y limpio. Pero sigue habiendo un problema con el build en Docker: "#0 0.512 exec ./irissession.sh: no such file or directory". Me da la impresión de que es una función pensada para Studio más que para VSCode. Parece que hay que importar el proyecto de forma manual y requiere cierta configuración para poder utilizarlo.  

2. https://github.com/gjsjohnmurray/vscode-objectscript-class-view  
Este es otro gran trabajo que me ha dado inspiración. La estructura de clases es clara y además soporta no solo las clases del proyecto, sino también las de las bibliotecas. Pero parece más bien una versión mejorada del outline de VSCode.  

- Otros plugins de visualización de diagramas de clases para VSCode en otros lenguajes:  

1. https://github.com/OH318/J-Diagram  
El readme muestra muy bien el resultado usando draw.io. Pero cuando lo probé localmente, no me funcionó, así que no lo usé como referencia.  

2. https://github.com/pierre3/PlantUmlClassDiagramGenerator  
Está relativamente bien y requiere algo de configuración. Tomé la idea de generar primero el UML y después usar PlantUML para generar el diagrama de clases.  

- Mejor implementación de diagramas de clases:  

1. Los productos de JetBrains, como IntelliJ IDEA y PyCharm, son increíbles para diagramas de clases. Solo arrastráis y soltáis las clases, hacéis clic en un hipervínculo y ya podéis generar un diagrama de clases muy potente.  

2. Plugin de diagrama de clases para TypeScript en VSCode  
https://marketplace.visualstudio.com/items?itemName=AlexShen.classdiagra...  
Permite arrastrar y soltar, hacer clic en hipervínculos y también soporta la generación de diagramas de clases para carpetas enteras.  

Me inspiré en su diseño. Por desgracia, son de código cerrado, así que tendré que diseñar mi propio proyecto desde cero.

InterSystems ObjectScript Class Diagram View

es una extensión de Visual Studio Code que genera diagramas de clases UML a partir de archivos InterSystems ObjectScript (.cls). Ofrece funciones de visualización interactiva y navegación, y está basada en PlantUML para garantizar un renderizado fiable de los diagramas.

Características principales

  • Generación de diagramas de clases UML a partir de archivos .cls
  • Soporte para la generación de diagramas tanto a nivel de clase única como de carpeta
  • Integración del menú contextual del botón derecho del ratón tanto en el editor como en el explorador
  • Visualización de relaciones entre clases, propiedades y métodos
  • Construido sobre PlantUML para un renderizado de diagramas fiable
  • Generación de diagramas mediante PlantUML Web Server (no requiere Java)
  • Exploración interactiva de diagramas de clases
    • Haced clic en nombres de clases, propiedades o métodos para saltar directamente al código correspondiente
    • Diagramas SVG incrustados en HTML para una interacción fluida
    • Navegación visual de relaciones entre clases

Probé el plugin en otro gran proyecto de ObjectScript, apiPub

Para una sola clase:

Para una carpeta

Para todo el proyecto. El diagrama de clases está en formato SVG, y siempre se ve nítido y claro.

Requisitos

OS Requerido Opcional (para generación de PlantUML local)
Windows - VSCode 1.96.0+
- ObjectScript Class Files(.cls)
- Java 8+
Linux - VSCode 1.96.0+
- ObjectScript Class Files(.cls)
- Java 8+
- Graphviz

Uso

  • Abrid un archivo .cls y generad un diagrama de clases utilizando:
    • Atajo Ctrl+Alt+U
    • Haced clic con el botón derecho en un archivo o carpeta y seleccionad «Generar diagrama de clases»
  • Haced clic en los elementos del diagrama para saltar a las definiciones de clase, propiedades y métodos

Problemas conocidos

 

  • Navegación por bibliotecas externas: No se puede navegar a las definiciones de la biblioteca InterSystems objectscript a través de interacciones de clic
  • Generación de subclases: Falta funcionalidad para generar diagramas de subclase para la clase actual
  • Rendimiento de proyectos grandes:
    • La generación de diagramas para carpetas grandes a través del botón derecho del ratón puede experimentar retrasos significativos.
    • La vista web/SVG generada para proyectos grandes carece de una funcionalidad de zoom suave y de un escalado adecuado.

Notificad cualquier problema en el repositorio de GitHub.

Contribución & licencia

  • Abierto a contribuciones a través de GitHub
  • Licencia MIT

Podéis encontrar este plugin en el marketplace, sentíos libres de crear issues en issue y contribuir con PR.

Comentarios (0)1
Inicie sesión o regístrese para continuar