El blog de Deska

Creación de una extensión de VS Code con ayuda de IA

Aprende el flujo de trabajo técnico para la creación de una extensión de VS Code con ayuda de IA, desde el andamiaje inicial hasta la depuración.

· 10 min de lectura

El desarrollo de herramientas personalizadas para tu editor es una de las formas más efectivas de mejorar tu flujo de trabajo. La creación de una extensión de VS Code con ayuda de IA te permite pasar rápidamente de un concepto a un complemento funcional al delegar la generación de código repetitivo y la exploración de la API a los modelos de lenguaje. Aunque la API de VS Code es extensa y está bien documentada, la curva de aprendizaje para gestionar los puntos de contribución y las secuencias de registro puede ser pronunciada. Aprovechar la inteligencia artificial como programador de pares ayuda a cerrar la brecha entre la intención y la implementación.

La arquitectura de una extensión de VS Code

Antes de escribir código, es esencial comprender cómo gestiona VS Code las extensiones. Cada extensión se ejecuta en un proceso host dedicado, lo que garantiza que un complemento defectuoso no bloquee toda la interfaz de usuario del editor. Este aislamiento es un principio de diseño central de la plataforma.

El punto de entrada principal para cualquier extensión es el archivo package.json. Este archivo actúa como un manifiesto donde defines tus puntos de contribución, como comandos, menús o vistas personalizadas. La lógica real reside en un archivo extension.ts o extension.js, específicamente dentro de la función activate. VS Code activa esta función basándose en los eventos de activación que especifiques.

Cuando estás en el proceso de creación de una extensión de VS Code con ayuda de IA, el agente necesita entender esta arquitectura basada en el manifiesto. Los modelos suelen sobresalir en la generación de las claves JSON específicas requeridas para el bloque contributes, que frecuentemente es la parte más tediosa de la configuración.

Configuración del entorno de desarrollo

El desarrollo estándar implica el uso del generador Yeoman (Yo Code) para crear el andamiaje inicial de la estructura del proyecto. Esto crea un proyecto de TypeScript o JavaScript con todos los archivos de configuración necesarios para el empaquetado y las pruebas.

Un desafío común surge cuando necesitas monitorear los registros de la extensión y la consola de depuración mientras lees la documentación y escribes código. Los editores tradicionales de una sola vista pueden volverse desordenados durante esta fase. Deska ofrece una alternativa al proporcionar un espacio de trabajo de lienzo infinito donde puedes organizar múltiples terminales y editores de código uno al lado del otro.

En una configuración típica, podrías tener un panel ejecutando el compilador en modo observación, otro para el lanzamiento del host de la extensión y un tercero para el código fuente real. Esta disposición espacial te permite ver el resultado de tus cambios sin tener que cambiar constantemente de pestaña.

Aprovechamiento de agentes de IA para la lógica

El verdadero poder de la creación de una extensión de VS Code con ayuda de IA aparece durante la implementación de funciones complejas de la API. Trabajar con proveedores de vista de árbol o editores personalizados requiere código repetitivo que siga interfaces específicas.

Registro de comandos e interfaz de usuario

Los agentes de IA son particularmente buenos generando el código de registro para los comandos y añadiéndolos a la paleta de comandos. Por ejemplo, si deseas que tu extensión procese la selección de texto, la IA puede sugerir rápidamente las llamadas correctas a vscode.window.activeTextEditor y el manejo de errores necesario para los casos en los que no hay ningún editor abierto.

Gestión de contexto y estado

El manejo del estado global o del espacio de trabajo es un requisito común. La API de VS Code proporciona ExtensionContext, que incluye globalState y workspaceState. Los modelos de lenguaje grandes pueden ayudarte a envolver estos elementos en servicios limpios y con tipos seguros. Esto asegura que tu extensión recuerde las preferencias del usuario entre sesiones.

Comparación de herramientas para el desarrollo de extensiones

Diversas herramientas pueden asistir en este proceso. Diferentes entornos proporcionan distintos conjuntos de características.

CaracterísticaVS Code (Nativo)Espacio de trabajo DeskaIDEs de IA especializados
InterfazVista únicaLienzo infinitoVista única
Soporte multiagenteLimitadoEjecuta varios agentesAgente único integrado
Privacidad de datosArchivos localeslocal-firstVaría según proveedor
SincronizaciónSync SettingsApp móvilSincronización de proyecto

Aunque VS Code es la plataforma de destino, el entorno donde escribes la lógica de la extensión puede variar. Deska permite ejecutar agentes de codificación como Claude Code u OpenCode en paneles paralelos. Esto es útil para comparar cómo diferentes modelos abordan un problema específico de implementación de la API de VS Code.

Gestión del flujo de trabajo con voz y chat

Iterar en un complemento a menudo implica tareas repetitivas como reiniciar el depurador o verificar el estado de la compilación. Dentro de Deska, el asistente Ask Deska puede dirigir el espacio de trabajo mediante voz o chat. Puedes pedirle al asistente que abra paneles específicos o ejecute comandos de compilación, lo que te permite concentrarte en la lógica del código en lugar de en la gestión de ventanas.

Si te encuentras lejos de tu estación de trabajo principal, la aplicación móvil ofrece una forma segura de monitorear tus registros de compilación o ver el progreso de una tarea de generación de IA de larga duración. Utiliza un relevo seguro para emparejarse directamente con tu escritorio, garantizando que no se expongan puertos a la internet pública.

Estrategias de depuración y pruebas

La validación es el obstáculo final. Las extensiones de VS Code utilizan un ejecutor de pruebas especializado. Debes escribir pruebas de integración que se ejecuten dentro de una instancia simulada del editor.

  1. Usa vscode-test para automatizar el lanzamiento de la instancia de prueba.
  2. Verifica que tus comandos estén registrados correctamente en el registro de comandos.
  3. Simula interacciones del usuario, como hacer clic en un elemento del menú o escribir en un cuadro de entrada.
  4. Revisa las notificaciones para asegurar que el usuario reciba la retroalimentación correcta.

La creación de una extensión de VS Code con ayuda de IA facilita esta fase de pruebas. Puedes proporcionar a la IA los registros de errores de la consola de depuración y esta puede sugerir correcciones basadas en el rastreo de la pila. Debido a que Deska mantiene tus datos y almacenamiento de forma local, puedes iterar en estas pruebas sin subir tu código fuente a servidores externos en cada ejecución.

FAQ

¿Cómo usar IA para la API de VS Code?

La forma más efectiva es proporcionar al agente de IA la sección específica de la documentación oficial o una descripción clara del comportamiento deseado. Debes pedir al modelo que genere la sección contributes del package.json y el registro correspondiente en la función activate juntos para asegurar la coherencia.

¿Puede la IA escribir extensiones de VS Code completas?

La IA puede generar partes significativas de una extensión, especialmente para elementos estándar de la interfaz de usuario y estructuras de comandos. Sin embargo, la lógica compleja que involucra vigilantes del sistema de archivos o una integración profunda con otras extensiones requiere supervisión humana y depuración manual para garantizar el rendimiento y la seguridad.

¿Cuál es el mejor agente de IA para desarrollar en VS Code?

Varios agentes como Claude Code o Codex CLI son efectivos. Los mejores resultados a menudo provienen de usar un enfoque local-first donde el agente tiene acceso directo a tus archivos locales y puede ejecutar comandos en una terminal para verificar el código que genera.

Expandiendo tu conjunto de herramientas

Crear extensiones personalizadas es un camino poderoso hacia la productividad del desarrollador. Al combinar la asistencia de IA con un espacio de trabajo flexible, puedes reducir la carga de aprender nuevas APIs y concentrarte en las características únicas de tu herramienta. Deska proporciona un entorno gratuito para orquestar estas modernas herramientas de IA junto con tu flujo de trabajo de desarrollo estándar.

Puedes comenzar a construir tu próximo proyecto descargando la aplicación para Mac, Windows o Linux en /download.

💡 Ideas+🐛 BugsPropón una feature o reporta un bug