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.