Explorador de archivos
FreeÁrbol de ficheros en tiempo real estilo VS Code optimizado para móvil: multi-selección, portapapeles, búsqueda de contenido, integración Git y actualización automática cuando la IA modifica el proyecto.
Árbol de archivos
- •Carga perezosa por niveles: solo se leen del disco las carpetas que abres
- •Compact folder grouping al estilo VS Code: cadenas como src/main/java se colapsan en una sola fila
- •Aplanado virtual — solo se renderizan las filas visibles
- •Animaciones suaves al crear, borrar o reordenar archivos (spring damping)
- •Estado de expansión persistente durante la sesión
- •Indicador del archivo activo: fondo resaltado y nombre en color primario
Iconos y colores
El explorador usa DevIcons para mostrar el icono real del lenguaje o framework (TypeScript, Python, Rust, React, Vue…). Las carpetas con nombres conocidos reciben colores semánticos a la VS Code:
Operaciones sobre archivos
Crear
Sheet de 2 pasos con selector de carpeta destino y plantillas rápidas
Renombrar
Validación inline; actualiza paths de carpetas hijas expandidas
Duplicar
Genera nombre único (archivo_copy1.kt) — funciona en archivos y carpetas
Eliminar
Confirmación con icono de error; carpetas se borran recursivamente
Copiar ruta
Ruta absoluta al portapapeles del sistema
Revelar archivo activo
Expande ancestros y hace scroll animado a la fila
Plantillas de archivo rápidas
El sheet de creación incluye una galería de plantillas para crear archivos con nombre predeterminado y un solo tap:
Cortar, copiar y pegar
- •Portapapeles interno con soporte para múltiples archivos a la vez
- •Los archivos cortados se muestran al 45% de opacidad mientras están pendientes de mover
- •Pegar en cualquier carpeta desde el menú contextual
- •Si pegas una copia con nombre duplicado, se genera automáticamente: nombre (1).ext, nombre (2).ext…
- •Selector de carpeta destino accesible desde la cabecera cuando hay contenido en el portapapeles
Multi-selección
Long press sobre cualquier fila activa el modo multi-selección (con feedback haptico opcional). Cada nodo muestra un checkbox y la cabecera se reemplaza por una barra de contexto:
Seleccionar todo
Marca todos los nodos visibles
Cortar
Marca la selección para mover
Copiar
Marca la selección para duplicar
Eliminar en lote
Borra cada path y reporta éxitos/fallos por separado
Búsqueda
Búsqueda por nombre
Barra integrada en la cabecera (expandible con animación). Filtrado recursivo case-insensitive en tiempo real, mostrando la ruta del padre a la derecha.
Buscar en carpeta (contenido)
Bottom sheet que busca texto dentro del contenido de los archivos. Activa a partir de 2 caracteres, salta binarios y archivos > 2 MB, máximo 200 resultados. Cada resultado muestra archivo, línea y contexto.
Los dotfiles (.gitignore, .env, .idea…) están ocultos por defecto, con toggle en el menú ⋮. Directorios como node_modules, .git, .gradle, build y __pycache__ siempre se excluyen.
Ordenación
Nombre A→Z
Orden alfabético ascendente (por defecto)
Nombre Z→A
Orden alfabético descendente
Tipo
Agrupado por extensión, luego por nombre
Tamaño
Por tamaño del archivo
Las carpetas siempre aparecen antes que los archivos en el mismo nivel, independientemente del modo de ordenación elegido.
Integración Git
Cada archivo y carpeta muestra un badge con su estado Git, propagado hacia arriba en el árbol con sistema de prioridad (conflicto > modificado > borrado > añadido).
Tras cada guardado, el explorador refresca el estado Git automáticamente. El nombre del archivo también cambia de color cuando tiene cambios.
Actualización automática
- •El árbol se actualiza solo cuando un archivo es creado, modificado, borrado o renombrado — incluyendo cambios hechos por el agente de IA
- •Filtra eventos por proyecto activo y recarga ambos directorios en renombrados
- •Refresh manual desde la cabecera con spinner animado
- •Los eventos de guardado disparan refresco de estado Git completo
Rendimiento
- •Claves estables (file.path) para reutilizar filas renderizadas
- •IO de disco siempre en background (crear, borrar, renombrar, duplicar, buscar)
- •Filtro automático de archivos > 2 MB en la búsqueda de contenido
- •Recomputación del árbol aplanado solo cuando cambia el estado relevante