Fast Extension for VS Code
Fast es una extensión para Visual Studio Code diseñada para agilizar la creación, modificación y gestión de archivos en proyectos de desarrollo mediante comandos en JSON y una estructura de automatización. Incluye herramientas de generación de archivos y comandos de modificación directa, lo que permite una integración fluida con IA para la ejecución de cambios.
Características
- Automatización de Archivos: Genera, modifica o elimina archivos automáticamente en función de comandos JSON.
- Comandos Directos de Modificación: Ejecuta comandos específicos como
createOrUpdateFile
, deleteFile
, patchFile
en archivos definidos.
- Modificaciones Parciales: Usa
patchFile
para modificar secciones específicas sin enviar el archivo completo.
- Gestión de Exclusiones: Excluye archivos o carpetas específicas para no incluirlos en Fast.
- Detección de Dependencias: Marca archivos y sus dependencias directas con un solo comando.
- Atajos de Teclado: Usa
Ctrl+Alt+A
para marcar archivos y Ctrl+Alt+D
para marcar con dependencias.
- Estadísticas del Template: Muestra información detallada de archivos, líneas y estructura.
- Contextos: Guarda y recupera conjuntos de archivos relacionados.
- Interfaz en el Explorador: Agrega una sección dedicada en la barra de actividad de VS Code para acceder a los comandos de Fast de forma directa:
- Abrir Editor JSON para Plantilla: Acceso directo para abrir el archivo
fast_template.json
.
- Generar Archivos desde JSON: Ejecuta la plantilla JSON y genera archivos de acuerdo con la estructura.
- Ejecutar Comando Fast: Ejecuta comandos directos en el archivo
fast_template.json
.
Instalación
- Instalar la extensión: Si tienes el archivo
.vsix
, instálalo en VS Code mediante Extensiones
> ...
> Instalar desde VSIX
.
- Configura el archivo de plantilla: La extensión utiliza el archivo
fast_template.json
, que se guarda en la carpeta .vscode
del proyecto. Este archivo debe contener la estructura de archivos y comandos a ejecutar.
Estructura de Comandos JSON
Para realizar cambios a través de IA o manualmente, utiliza la siguiente estructura JSON para enviar y recibir comandos que la extensión puede interpretar:
Estructura JSON de Fast
{
"commands": [
{
"action": "createOrUpdateFile",
"path": "src/components/Home.js",
"content": [
"import React from 'react';",
"",
"function Home() {",
" return <div>Welcome to the Home Page</div>;",
"}",
"",
"export default Home;"
]
}
]
}
Acciones Disponibles
- createOrUpdateFile: Crea o actualiza el archivo especificado en
"path"
, con el contenido detallado en "content"
.
- deleteFile: Elimina el archivo especificado en
"path"
del proyecto.
- listFiles: Lista los archivos incluidos en el template actual.
- patchFile: (NUEVO) Modifica secciones específicas de un archivo existente utilizando patrones de búsqueda y reemplazo.
Comando patchFile (con sistema inteligente v0.1.4+)
{
"commands": [
{
"action": "patchFile",
"path": "src/utils/helper.js",
"patches": [
{
"find": [
"export function mainFunction() {",
" return helperFunction();",
"}"
],
"replace": [
"export function mainFunction() {",
" return helperFunction();",
"}",
"",
"export function calculateSum(a, b) {",
" return a + b;",
"}"
]
}
]
}
]
}
Exclusiones
Puedes excluir archivos o directorios específicos para evitar que se incluyan en Fast:
- Clic derecho > Excluir de Fast: En el explorador de archivos, haz clic derecho en un archivo o carpeta y selecciona 'Excluir de Fast'.
- Gestión desde la barra lateral: En la sección 'Exclusiones' puedes ver y gestionar los paths excluidos.
- Incluir nuevamente: Haz clic derecho en un path excluido y selecciona 'Incluir en Fast' para volver a permitir su uso.
Las exclusiones se aplican a todo el proyecto y persisten entre sesiones.
Atajos de Teclado
Fast incluye atajos de teclado para agilizar el flujo de trabajo:
- Ctrl+Alt+A (Mac: Cmd+Alt+A): Marca el archivo seleccionado para Fast
- Ctrl+Alt+D (Mac: Cmd+Alt+D): Marca el archivo y sus dependencias directas
Marcar Archivos con Dependencias
La nueva funcionalidad te permite marcar un archivo y automáticamente detectar y marcar sus dependencias directas:
- Selecciona un archivo: Haz clic en un archivo JavaScript/TypeScript
- Marca con Dependencias: Usa el atajo Ctrl+Alt+D o el menú contextual
- Actualización Automática: El sistema detecta importaciones y las marca automáticamente
Actualmente soporta JavaScript/TypeScript, y está diseñado para expandirse a otros lenguajes en el futuro.
Múltiples Versiones de Prompts
Fast ahora incluye diferentes versiones de prompts para interactuar con IA:
- Prompt Original: Versión básica con comandos createOrUpdateFile, deleteFile y listFiles
- Prompt con Patch: Versión avanzada con soporte para modificaciones parciales de archivos
Selecciona la versión más adecuada para tus necesidades desde el menú de Documentación.
Cómo Interactuar con la IA Usando Fast
Para optimizar el uso de la extensión con inteligencia artificial, recomendamos usar prompts específicos que sigan esta estructura y permitan a la IA entender el contexto:
Usa la Estructura JSON de Comandos: Solicita a la IA que proporcione los cambios en un JSON estructurado, incluyendo solo los comandos necesarios. Esto permite copiar y ejecutar los cambios directamente en Fast sin perder el contexto.
Ejemplo de prompt básico:
"Por favor, añade una función calculateSum
en src/utils/helper.js
que reciba dos números y devuelva su suma. Proporcióname el comando en formato JSON para Fast, sin incluir archivos que no tengan cambios."
Ejemplo de prompt con patch:
"Por favor, modifica la función mainFunction
en src/utils/helper.js
para que devuelva el valor multiplicado por 2. Usa patchFile para hacer el cambio de forma eficiente."
Recomendación de Respuesta para IA: La IA debe responder únicamente con los comandos JSON necesarios, respetando la estructura de "commands"
. La extensión Fast interpretará y aplicará estos cambios automáticamente.
Uso Básico de Fast
- Abrir el Editor JSON: Selecciona
Abrir Editor JSON para Plantilla
para ver o modificar el archivo fast_template.json
.
- Ejecutar el JSON: Una vez configurado el archivo, utiliza
Generar Archivos desde JSON
para crear los archivos según la plantilla.
- Ejecutar Comandos Específicos: Usa
Ejecutar Comando Fast
para aplicar comandos individuales definidos en el archivo de comandos, modificando o eliminando archivos según sea necesario.
- Marcar Archivos: Usa Ctrl+Alt+A o haz clic derecho en un archivo y selecciona 'Marcar Archivo para Fast'.
- Marcar con Dependencias: Usa Ctrl+Alt+D para marcar un archivo y sus dependencias automáticamente.
- Sincronizar Cambios: Para archivos marcados con diferencias, aparecen botones para:
- Actualizar el template con el contenido local (flecha hacia abajo)
- Actualizar el archivo local con el contenido del template (flecha hacia arriba)
- Ver Diferencias: Haz clic en un archivo modificado para ver una comparación detallada.
- Gestionar Exclusiones: Excluye archivos o carpetas que no deseas incluir en el template.
- Guardar Contextos: Guarda conjuntos de archivos relacionados para usarlos posteriormente.
Recomendaciones para la Estructura de Prompts y Uso de la IA
Para obtener respuestas adecuadas de la IA:
- Solicita comandos específicos en formato JSON para Fast.
- Asegúrate de que cada comando JSON incluya solo los archivos y cambios necesarios.
- Explica claramente el tipo de cambio: creación, actualización o eliminación de archivos.
- Menciona que la respuesta de la IA debe estar en la estructura
"commands"
para que Fast interprete y ejecute automáticamente.
Contribuciones de Configuración
La extensión agrega las siguientes configuraciones:
fast.fileExtensions
: Define qué extensiones de archivo serán procesadas al marcar carpetas completas.
fast.excludePatterns
: Patrones globales para excluir archivos y carpetas automáticamente.
fast.devMode
: Activa el modo de depuración para ver mensajes detallados en la consola.
fast.favoritePrompt
: Selecciona la prompt favorita para acceso rápido.
Configuraciones del Sistema de Patrones (v0.1.4+)
fast.patch.trimEndPatterns
: Elimina espacios en blanco al final de cada línea en patrones de búsqueda.
fast.patch.ignoreIndentation
: Ignora la indentación en los patrones de búsqueda.
fast.patch.fuzzySearch
: Intenta búsqueda secundaria si la búsqueda exacta falla.
fast.patch.verboseErrors
: Muestra mensajes de error detallados con sugerencias de solución.
Notas de Lanzamiento
Nuevas Características (v0.1.4+)
Mejoras en la Interfaz de Usuario
- Accesos Rápidos: Nueva organización de la interfaz con accesos directos siempre visibles:
- Botón "Ejecutar Comando" para procesar comandos JSON rápidamente
- Botón "Copiar Prompt Favorita" para acceso inmediato a tu prompt preferida
- Botón "Refrescar Cambios" para actualizar el estado de los archivos
- Mejor Organización: Interfaz reestructurada con elementos lógicamente agrupados
- Acciones de Cambios: Iconos y botones de acción optimizados en los elementos correctos
Sistema de Diagnóstico Avanzado
- Logging Detallado: Nuevo sistema de registro en archivo para seguimiento de operaciones:
- Seguimiento paso a paso de la aplicación de parches
- Diagnóstico detallado de patrones y su procesamiento
- Control configurable mediante
fast.enableDetailedLogging
- Mejor Depuración: Información completa sobre operaciones de parche y posibles errores
Nuevas Características (v0.1.4)
Sistema Inteligente de Patrones
- Búsqueda Resiliente: Nuevo sistema que tolera errores comunes al usar
patchFile
- Opciones Configurables: Controla el comportamiento del sistema de patrones con opciones personalizables:
- Eliminar espacios al final: Ignora espacios en blanco al final de cada línea
- Ignorar indentación: Permite que coincidan patrones independientemente de la indentación
- Búsqueda flexible: Intenta búsquedas alternativas si la exacta falla
- Errores detallados: Muestra mensajes con información y sugerencias
- Auto-marcado de Archivos: Detecta y agrega automáticamente archivos al template si existen en el proyecto
Mejoras en Interfaz y Usabilidad
- Acceso Rápido a Prompt: Selecciona y copia tu prompt favorita con un solo clic
- Ejecutar Comando: Nuevo botón en el panel de cambios para ejecutar comandos rápidamente
- Ajustes Mejorados: Sección dedicada para configurar el comportamiento de la extensión
Nuevas Características (v0.1.3)
Detección Automática de Cambios
- Monitoreo en Tiempo Real: Detecta cambios en archivos inmediatamente al guardarlos (Ctrl+S)
- Actualización Automática: El panel de cambios se actualiza sin necesidad de refrescar manualmente
- Mejor Flujo de Trabajo: Mayor eficiencia al editar múltiples archivos que pertenecen al template
Mejoras en la Experiencia de Usuario
- Respuesta Instantánea: Visualización inmediata de diferencias al guardar archivos
- Mayor Precisión: Monitoreo continuo de todos los archivos incluidos en el template
Nuevas Características (v0.1.2)
Robustez en Procesamiento de Comandos
- Mejor Manejo de Errores: Identificación precisa del archivo y comando que falló
- Mensajes Detallados: Logs mejorados para facilitar la depuración
- Mayor Estabilidad: Procesamiento más robusto de múltiples comandos
Nuevas Características (v0.1.1)
Mejora en Organización de Comandos
- Comandos por Archivo: Mejor estructura para manejar múltiples archivos
- Mayor Claridad: Comandos separados para archivos distintos
- Mejor Control: Facilita el seguimiento de cambios por archivo
Nuevas Características (v0.1.0)
Comando patchFile
- Modificaciones Eficientes: Cambia solo partes específicas de un archivo
- Menor Consumo de Tokens: Ideal para archivos grandes
- Múltiples Prompts: Diferentes versiones para distintos casos de uso
Mejoras de Usabilidad
- Sistema de Documentación: Versiones de prompts seleccionables
- Interfaz Mejorada: Acceso directo a diferentes formatos de prompts
- Mayor Flexibilidad: Combinación de comandos en una sola instrucción
Nuevas Características (v0.0.8)
Sistema de Detección de Dependencias
- Patrón Strategy: Estructura extensible para diferentes lenguajes de programación
- Marcado Automático: Detecta y marca dependencias directas de un archivo
- Atajos de Teclado: Nuevos atajos
Ctrl+Alt+A
y Ctrl+Alt+D
- Soporte actual: JavaScript/TypeScript con detección de importaciones
Mejoras de Usabilidad
- Detección Inteligente: Mejor identificación de archivos seleccionados
- Simplificación del Menú: Reducción de opciones redundantes
- Feedback Mejorado: Mejor información sobre archivos procesados
Nuevas Características (v0.0.7)
Corrección de Bugs
- Sincronización Restaurada: Corregido problema con los botones de sincronización en archivos con diferencias
- Mejor Experiencia de Usuario: Restaurada la funcionalidad de actualización bidireccional entre template y archivos locales
Nuevas Características (v0.0.6)
Sistema de Exclusiones
- Exclusión de Archivos: Excluye archivos o carpetas específicas de Fast
- Gestión Visual: Interfaz para ver y gestionar exclusiones
- Estadísticas de Template: Información de archivos, líneas y estructura
Mejoras de Rendimiento
- Contador de Líneas: Visualización de líneas por archivo
- Mejoras en Flujo de Trabajo: Sin cambio de foco al marcar archivos
Nuevas Características (v0.0.5)
Sistema de Contextos
- Guardado de Contextos: Guarda conjuntos de archivos como contextos reutilizables
- Carga de Contextos: Recupera fácilmente grupos de archivos relacionados
- Gestión de Múltiples Contextos: Organiza y administra diferentes conjuntos de archivos
Vista de Diferencias
- Comparación Visual: Ve las diferencias entre archivos locales y template
- Sincronización Bidireccional: Actualiza archivos en ambas direcciones
- Resaltado de Cambios: Identificación clara de modificaciones
Mejoras en la Interfaz
- Nueva Vista de Árbol: Organización mejorada de archivos marcados
- Iconos Informativos: Mejor feedback visual sobre el estado de los archivos
- Tooltips Detallados: Información contextual sobre acciones disponibles
Comandos Avanzados
- Marcado de carpetas completas
- Generación individual de archivos desde template
- Limpieza de contenido del template
- Actualización directa desde archivos locales
Gestión Mejorada
- Persistencia de Archivos: Mantiene el estado de archivos marcados
- Sincronización Automática: Actualización automática entre local y template
- Sistema de Logging: Mejor seguimiento y depuración
Uso Avanzado
Versión 0.0.4 - Mejoras y Depuración
- Exportación Arbol de Archivos: Se agrega la funcionalidad para exportar el arbol de archivos
Versión 0.0.3 - Mejoras y Depuración
- Exportación Arbol de Archivos: Se agrega la funcionalidad para exportar el arbol de archivos
Versión 0.0.2 - Mejoras y Depuración
- corrección bugs: Se arreglo el comando que genera la estructura de todo el proyecto
Versión 0.1.0 - Prelanzamiento
- Funcionalidad Básica: Incluye generación de archivos, comandos de creación y modificación.
- Interfaz Integrada: Acceso directo a los comandos desde la barra lateral.
- Documentación y Estructura de Prompts para IA: Guía para maximizar el uso de la extensión con IA en VS Code.
Disfruta usando Fast para simplificar y agilizar tu flujo de trabajo en Visual Studio Code!
Configuración del Sistema Inteligente de Patrones
Para configurar el sistema inteligente de patrones, ve a la sección "Ajustes" en la barra lateral de Fast, selecciona "Configuración" y luego "Configuración de Patch". Desde allí puedes activar o desactivar las siguientes opciones:
- Eliminar espacios finales: Ignora los espacios en blanco al final de las líneas al comparar
- Ignorar indentación: Ignora los espacios al inicio de las líneas (tabulaciones, espacios)
- Búsqueda flexible: Intenta métodos alternativos de coincidencia cuando falla la exacta
- Errores detallados: Muestra mensajes de error con información y sugerencias
- Logging detallado: Genera un archivo de log con información de diagnóstico extensiva
Estas opciones pueden ayudar a resolver problemas comunes al usar el comando patchFile
sin tener que preocuparte por la indentación exacta, espacios en blanco o caracteres especiales como \r
(retorno de carro).
Accesos Rápidos y Flujo de Trabajo Optimizado
La nueva sección "Accesos Rápidos" proporciona un acceso más directo a las funciones más utilizadas:
- Ejecutar Comando: Permite ingresar y ejecutar comandos Fast JSON directamente
- Copiar Prompt Favorita: Copia al portapapeles tu prompt preferida configurada
- Refrescar Cambios: Actualiza el estado de cambios entre archivos locales y template
La interfaz reorganizada mejora significativamente el flujo de trabajo, permitiendo realizar acciones comunes con menos clics y proporcionando una experiencia más intuitiva y eficiente.