Skip to content

Releases: LucatorL/JavaSourceToTxt

V4

Choose a tag to compare

@LucatorL LucatorL released this 27 May 11:28
272cae7

Changelog

[V4.0.0]

Esta versión introduce mejoras significativas en la interfaz de usuario, la funcionalidad de manejo de archivos, la personalización del tema y la robustez general de la aplicación.

PUEDES DESCARGAR EL EJECUTABLE AQUI

✨ Nuevas Características (Features)

  • Soporte Extendido de Archivos:
    • Ahora se pueden incluir y previsualizar múltiples tipos de archivos de texto además de .java, como: .txt, .md, .xml, .properties, .sql, .csv, .yaml, .yml, .pom, .classpath, .project, .dat, .json, .html, .css, .gradle, y muchos más scripts y archivos de código.
    • Los archivos se agrupan inteligentemente en la vista previa: paquetes Java primero, luego una sección para "Otros Archivos de Proyecto".
  • Contador de Tokens Estimado: La vista previa unificada ahora muestra una estimación de los tokens (basada en ~4 caracteres/token) para ayudar a evaluar la longitud del contenido para LLMs.
  • Filtros Avanzados en Vista Previa:
    • Nuevos botones de filtro en la ventana de selección de archivos: "☕ Solo Java", "✅ Todo", "❌ Nada".
    • Permiten seleccionar/deseleccionar rápidamente archivos según su tipo.
  • Iconografía Mejorada:
    • Iconos Unicode para tipos de archivo en la lista de selección (ej. ☕ para Java, 📜 para XML/Scripts, 📝 para TXT).
    • Iconos Unicode en botones clave (ej. 📋 para Copiar, 👁️ para Previsualizar archivo individual).
    • Botón de cambio de tema ahora usa iconos 🌞 (Sol) / 🌛 (Luna).

🎨 Mejoras Visuales y de Interfaz de Usuario (UI/UX Improvements)

  • Tema Oscuro Renovado y Completo:
    • Aplicación mucho más profunda y consistente del tema oscuro a todos los rincones de la UI.
    • Componentes como JOptionPane (diálogos de entrada/confirmación), JFileChooser (selector de archivos) y barras de desplazamiento ahora respetan mejor el tema oscuro.
    • Mejor contraste y legibilidad en modo oscuro.
  • Barras de Desplazamiento Modernizadas:
    • Implementada una BasicScrollBarUI personalizada (ModernScrollBarUI) para un aspecto más plano, moderno y consistente con el tema oscuro/claro.
    • Eliminación de los botones de flecha de las barras de desplazamiento para un diseño más limpio.
  • Mejoras en JOptionPane y JFileChooser:
    • Para mejorar la legibilidad con los estilos nativos del sistema operativo, los JOptionPane y JFileChooser ahora pueden usar un tema claro temporalmente (especialmente cuando el modo oscuro está activo) para los diálogos de entrada de texto o selección, asegurando que los elementos del sistema sean visibles.
    • Se aplican estilos de tema más directamente a JFileChooser durante su uso y se restauran después.
  • Retroalimentación Visual:
    • Mejoras en bordes, espaciado y fuentes en varios componentes para una apariencia más pulida.
    • Panel de "Archivos Recientes" con mejor espaciado y estilo de botones.
    • Etiquetas de proyecto y paquete en la vista previa de selección de archivos con un diseño más claro.
  • Selección por Defecto: Los archivos .java ahora están seleccionados por defecto en la ventana de vista previa/selección.

🔧 Mejoras Internas y Corrección de Errores (Internal Improvements & Bug Fixes)

  • Seguridad en Descompresión:
    • Añadidas comprobaciones para prevenir vulnerabilidades de "Path Traversal" (Zip Slip) al extraer archivos ZIP y RAR.
  • Manejo de Codificación:
    • Uso explícito de StandardCharsets.UTF_8 al leer y escribir archivos, y al procesar ZipInputStream para mayor consistencia.
  • Manejo de Errores Mejorado:
    • Mensajes de error más descriptivos y con mejor formato (usando HTML en JLabel para JOptionPane), especialmente para el error de librería nativa de 7-Zip al inicio.
  • Gestión de Configuración:
    • Añadidas verificaciones de null antes de acceder a isSelected() en checkboxes durante la carga/guardado de configuración para mayor robustez (aunque ya estaban inicializados).
  • Robustez del Theming:
    • Uso extensivo de ColorUIResource para asegurar que los cambios de tema se apliquen correctamente a través del LookAndFeel.
    • Creación de getLookAndFeelColor para obtener colores del L&F de forma segura con un fallback.
    • Llamada a JDialog.setDefaultLookAndFeelDecorated(true) para mejorar la decoración de diálogos.
  • Estructura de Código:
    • Nuevos métodos helper como isFileAllowed(), isJavaFile(), findAllAllowedFiles() para manejar la lógica de extensión de archivos.
    • Refactorización menor en la lógica de agrupación de archivos para la vista previa y unificación.

🗑️ Eliminado (Removed)

  • Import no utilizado: javax.swing.plaf.basic.BasicArrowButton.

V3

V3 Pre-release
Pre-release

Choose a tag to compare

@LucatorL LucatorL released this 16 May 17:17
272cae7

Changelog - UnificadorJava (Actualización Mayor)

Esta versión introduce una transformación completa de la herramienta, con nuevas funcionalidades, una interfaz de usuario mejorada y mayor robustez.

image
image
image

✨ Novedades (Features)

  • Gestión Avanzada de Múltiples Proyectos/Archivos:
    • Selecciona o arrastra múltiples carpetas, archivos ZIP o RAR simultáneamente.
    • Nueva opción "Unificar Múltiples Proyectos" para combinar todos los archivos .java de diversas fuentes en un solo resultado.
    • Los proyectos múltiples se identifican claramente en la vista previa y en el archivo unificado final.
  • Temas Visuales (Claro/Oscuro):
    • Nuevo botón para alternar fácilmente entre un tema claro y un tema oscuro personalizable.
    • El tema se aplica a toda la interfaz, incluyendo diálogos y selectores de archivos.
  • Historial de Archivos Recientes:
    • Accede rápidamente a los últimos proyectos procesados (hasta 3).
    • Se muestra en la pantalla principal para facilitar la reapertura.
    • Opción para eliminar entradas si el archivo/carpeta ya no existe.
  • Configuración Persistente:
    • La aplicación ahora guarda tus preferencias:
      • Tema visual seleccionado (claro/oscuro).
      • Estado de los checkboxes ("Activar Vista Previa", "Unificar Múltiples Proyectos").
    • Las configuraciones se guardan en ~/.unificadorjava/.
  • Vista Previa Individual de Archivos:
    • En el diálogo de selección de archivos, un nuevo icono de "ojo" (👁️) junto a cada archivo .java permite previsualizar su contenido individualmente en una ventana emergente.
  • Nombres de Proyecto Mejorados:
    • Se extrae un nombre base más limpio de las carpetas/archivos de entrada (ej. eliminando sufijos como "(1)", ".zip").

🛠️ Mejoras (Improvements)

  • Interfaz de Usuario Rediseñada:
    • Nuevo panel superior para opciones de configuración y el selector de tema.
    • La lista de archivos en el diálogo de selección ahora está ordenada alfabéticamente.
    • Mejoras visuales en el diálogo de selección, especialmente al unificar múltiples proyectos.
  • Diálogo de Selección de Archivos (JFileChooser):
    • Ahora permite selección múltiple por defecto.
    • Respeta el tema visual de la aplicación (claro/oscuro).
    • Intenta abrirse en la ubicación del último archivo reciente procesado.
  • Proceso de Guardado Optimizado:
    • Sugerencias de nombre de archivo más inteligentes (ej. NombreProyecto_unificado.txt).
    • Opciones de ubicación de guardado más contextuales y flexibles.
    • Pregunta si se desea abrir la carpeta contenedora después de guardar.
    • Se utiliza codificación UTF-8 para la escritura del archivo unificado.
  • Extracción de ZIP/RAR Más Robusta:
    • Cada archivo comprimido se extrae a su propio directorio temporal aislado, mejorando la fiabilidad.
    • Manejo de recursos mejorado durante la descompresión.
  • Manejo de Errores y Feedback:
    • Mensaje de error más claro si faltan las librerías nativas de 7-Zip.
    • Mensajes de advertencia y error más descriptivos en general.
  • Codificación UTF-8:
    • Lectura de archivos fuente Java ahora asume UTF-8 para mejor compatibilidad.
  • Look and Feel:
    • Intenta usar el Look and Feel "Nimbus" si está disponible para una apariencia más moderna, de lo contrario, usa el del sistema.

⚙️ Cambios Internos (Internal / Refactoring)

  • Refactorización extensiva del código para mayor modularidad y mantenibilidad.
  • Gestión de directorios temporales mejorada.
  • Uso consistente de StandardCharsets.UTF_8 para operaciones de E/S de archivos de texto.

Esta actualización representa un gran paso adelante en funcionalidad y usabilidad. ¡Esperamos que disfrutes de las nuevas características!

V2

V2

Choose a tag to compare

@LucatorL LucatorL released this 08 May 11:16
309b5dd

✨ Nuevas Características

  • Implementado un sistema para mostrar y acceder rápidamente a los últimos 3 archivos/carpetas procesados en la pantalla inicial.
  • Añadido un icono de ojo (👁️) junto a cada archivo en la lista de previsualización del diálogo de selección.
  • Al hacer clic en el icono de ojo, se abre una nueva ventana con una previsualización individual del archivo seleccionado.
  • La ventana de previsualización individual incluye un botón para copiar su contenido específico al portapapeles.

image
image

🛠️ Mejoras

  • Ajustes en la interfaz de usuario para acomodar las nuevas funcionalidades.
  • Mejoras en la gestión de directorios temporales.
  • Se utiliza codificación UTF-8 para la lectura y escritura de archivos, mejorando la compatibilidad con caracteres especiales.
  • Mensajes de error y confirmación más claros para el usuario.

V1

V1

Choose a tag to compare

@LucatorL LucatorL released this 18 Apr 12:19
309b5dd

Just the first version posted (my v2 local)