Releases: LucatorL/JavaSourceToTxt
Releases · LucatorL/JavaSourceToTxt
Release list
V4
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".
- Ahora se pueden incluir y previsualizar múltiples tipos de archivos de texto además de
- 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
BasicScrollBarUIpersonalizada (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.
- Implementada una
- Mejoras en
JOptionPaneyJFileChooser:- Para mejorar la legibilidad con los estilos nativos del sistema operativo, los
JOptionPaneyJFileChooserahora 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
JFileChooserdurante su uso y se restauran después.
- Para mejorar la legibilidad con los estilos nativos del sistema operativo, los
- 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
.javaahora 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_8al leer y escribir archivos, y al procesarZipInputStreampara mayor consistencia.
- Uso explícito de
- Manejo de Errores Mejorado:
- Mensajes de error más descriptivos y con mejor formato (usando HTML en
JLabelparaJOptionPane), especialmente para el error de librería nativa de 7-Zip al inicio.
- Mensajes de error más descriptivos y con mejor formato (usando HTML en
- Gestión de Configuración:
- Añadidas verificaciones de
nullantes de acceder aisSelected()en checkboxes durante la carga/guardado de configuración para mayor robustez (aunque ya estaban inicializados).
- Añadidas verificaciones de
- Robustez del Theming:
- Uso extensivo de
ColorUIResourcepara asegurar que los cambios de tema se apliquen correctamente a través del LookAndFeel. - Creación de
getLookAndFeelColorpara obtener colores del L&F de forma segura con un fallback. - Llamada a
JDialog.setDefaultLookAndFeelDecorated(true)para mejorar la decoración de diálogos.
- Uso extensivo de
- 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.
- Nuevos métodos helper como
🗑️ Eliminado (Removed)
- Import no utilizado:
javax.swing.plaf.basic.BasicArrowButton.
V3
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.
✨ 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
.javade 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/.
- La aplicación ahora guarda tus preferencias:
- Vista Previa Individual de Archivos:
- En el diálogo de selección de archivos, un nuevo icono de "ojo" (👁️) junto a cada archivo
.javapermite previsualizar su contenido individualmente en una ventana emergente.
- En el diálogo de selección de archivos, un nuevo icono de "ojo" (👁️) junto a cada archivo
- 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.
- Sugerencias de nombre de archivo más inteligentes (ej.
- 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_8para 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
✨ 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.
🛠️ 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.




