Godot Project Breakdown

Suzuka Ka

VSCode extension for managing Godot projects

Contenido

Godot Project Breakdown 🤖

Image

Extensión de VSCode que obtiene todos los archivos .gd de tu proyecto de Godot, los analiza y proporciona una vista general de todos ellos en un único archivo.

Para cada archivo .gd, muestra sus variables y métodos privados o públicos*, señales definidas, referencias a nodos y enums.

* Los campos privados y públicos no existen (al menos por ahora) en GDScript, pero si utilizas el prefijo “_” para diferenciar campos privados (con “_”) de públicos (sin “_”), lo tendrá en cuenta.*

Hice esta extensión hace muchos años, cuando Godot todavía no contaba con soporte para C#, por lo cual, al menos de momento, solo funciona con archivos gdscript (.gd)

Razones y Motivación

Hice esta extensión para mí mismo, para poder rastrear y actualizar fácilmente cada cambio en mi proyecto, de modo que pudiera gestionar/actualizar fácilmente la documentación de mi proyecto (en mi caso, un diagrama UML para mi juego).
En lugar de llevar el seguimiento de cada cambio manualmente, simplemente genero un nuevo archivo, lo comparo con la versión anterior (usando control de versiones) y actualizo efectivamente mi documentación.

Publiqué la extensión por si resulta útil para alguien más.

Uso 🔧

Requisitos previos: esta extensión requiere Godot tools

  1. Descarga la última versión e instálala

Si estás usando una versión de Godot Tools inferior a 1.X.X, descarga la versión 1.0.1

Si estás usando Godot 3.2 o superior y una versión de Godot Tools igual o superior a 1.X.X descarga la última versión

  1. Para instalar los archivos .vsix, ve a extensions -> ... -> "Install from vsix"

    Image

  2. Abre la paleta de comandos (F1)

  3. Escribe Generate breakdown file

  4. Ejecuta el comando

Image
  1. ¡Listo! 🥳

Opciones de la extensión ⚙

El archivo de resultado es altamente personalizable para adaptarse a tus necesidades.
Puedes especificar qué datos mostrar, en qué orden y cómo.

La mayoría de las opciones se explican por sí mismas en la descripción de sus ajustes. Pero algunas de ellas:

  • godotProjectBreakdown.file.order
    Esta es una de las configuraciones más importantes. Es un string que especifica los datos a mostrar y el orden. Su valor por defecto es f# p ne svm

Cada carácter representa un dato en el archivo:
n - Referencias a nodos

s - Señales

v - Variables

m - Métodos

p - Ruta del archivo

f - Nombre del archivo

e - Enums

# - Comentarios de clase. En cualquier GDScript, puedes poner el texto que quieras mostrar en el archivo si lo incluyes entre ###\ y /###. Por ejemplo:
###\ (Tu comentario aquí) /###

(Espacio vacío) - Separación de línea (equivale a \n)

  • godotProjectBreakdown.file.sortScriptsBy
    Permite ordenar los scripts por su ruta, nombre o nodo/script extendido.

  • godotProjectBreakdown.separator.{...}
    Un string que te permite añadir un encabezado personalizado para cada propiedad.

  • godotProjectBreakdown.prefix.{...}
    Permite añadir un prefijo personalizado para cada propiedad.

  • godotProjectBreakdown.file.ignoreFolders
    Un Glob Pattern para ignorar carpetas/archivos que no quieras mostrar en el archivo de resumen.

Su valor por defecto es "**/addons/**", lo que significa que ignorará archivos dentro de cualquier carpeta llamada “addons”.

Si los Glob Patterns son nuevos para ti, esta herramienta es muy útil para asegurarte de que tu patrón glob es correcto.

  • godotProjectBreakdown.file.showEnumValues
    Un bool para mostrar (true) o no (false) los valores de cada enum.

Posibles mejoras futuras

  • Analizar todos los archivos .tscn del proyecto para obtener más información, como por ejemplo señales conectadas mediante el editor.

  • Quizá suba la extensión al marketplace de VSCode en el futuro.

FAQ

¿Cúal es el estado actual de la extensión?

Esta extensión fue hecha originalmente para Godot 3.X.

Por el momento no voy a continuar con el mantenimiento de esta extensión. Fue mi primera (y única) extensión de VSCode, y en el momento en que escribo esto (5 años después de haberla hecho), las herramientas han cambiado (TypeScript ha cambiado, la API de extensiones de VSCode ha cambiado, Godot ha cambiado, etc.) y no tengo el tiempo, la energía ni la motivación para seguir con ella.

Licencia del logo ©

El logo de la extensión utiliza y modifica el logo original de Godot de Andrea Calabró.

Su licencia:
Godot Logo (C) Andrea Calabró
Distribuido bajo los términos de la licencia Creative Commons Attribution
versión 3.0 (CC-BY 3.0) https://creativecommons.org/licenses/by/3.0/legalcode.

Contacto

suzukakadev@gmail.com @SuzukaKDev

Artículos relacionados