2026-04-03

WebStorm es mi IDE preferido para trabajar con JavaScript y TypeScript, y GitHub Copilot se volvió parte esencial de mi flujo. Pero instalar el plugin y usarlo en automático deja mucho potencial sobre la mesa. En esta guía te voy a mostrar la configuración que uso, con los atajos que más tiempo ahorran y las opciones que hacen que Copilot deje de pelearse con el autocompletado nativo de WebStorm.
Para seguir este tutorial, vas a necesitar:
Si todavía estás en una versión vieja, actualizá antes de continuar. Versiones por debajo de la 2024.3.6 tienen un conflicto conocido entre Copilot y el Full Line Code Completion nativo, y el Tab queda peleando entre los dos.
Cmd + , en Mac / Ctrl + Alt + S en Windows/Linux)GitHub Copilot en la búsquedaEn algunas versiones el plugin GitHub Copilot Chat viene separado. Si es tu caso, instalalo también: es el que entrega la ventana de chat, el inline chat y el Agent Mode, que son las partes más poderosas de Copilot hoy.
Después de que WebStorm reinicia, vas a ver el ícono de Copilot en la barra inferior.
Cuando el ícono se pone verde, Copilot está activo.
Este es el paso que más diferencia hace y casi nadie lo cuenta. WebStorm tiene un autocompletado de línea entera nativo, local, que compite con Copilot por la misma tecla (Tab). Si dejás los dos activos sin ajustar nada, el Tab a veces acepta uno, a veces el otro, y perdés la confianza en el flujo.
Tenés dos buenas opciones.
Así el Tab siempre acepta la sugerencia de Copilot, sin dudas.
Si te gusta el Full Line porque es instantáneo y offline, podés mantener los dos:
Insert Inline Completion (es el nativo de WebStorm)Cmd + Shift + ] (Mac) / Ctrl + Shift + ] (Windows/Linux)Apply completions to Editor (Copilot) en el TabAndá a Settings > Tools > GitHub Copilot > Completions y ajustá:
| Opción | Valor recomendado | Por qué |
|---|---|---|
| Show completions automatically | Activo | Sugiere mientras escribís, sin necesidad de llamarlo |
| Automatically check for updates | Activo | Evita quedar atascada en versiones viejas con bugs |
| Enable Copilot | Activo globalmente | El control fino por lenguaje está más abajo |
Más abajo, en la sección Languages, podés activar/desactivar por lenguaje. Mi recomendación:
package-lock.json, yarn.lock, pnpm-lock.yaml): Copilot solo estorba acáSi preferís editar directamente el archivo github-copilot.xml, podés usar wildcards. Pero la interfaz gráfica resuelve el 99% de los casos.
El chat es donde vive la mitad de la productividad. Abrilo con Ctrl + Shift + C o por la barra lateral derecha (ícono de Copilot).
Dentro de la ventana de chat vas a ver tres modos:
Para habilitar el Agent Mode:
Las custom instructions son un archivo que Copilot lee antes de cada respuesta. Ahí escribís las reglas de tu proyecto, las bibliotecas que usás, los patrones de código, y Copilot empieza a seguirlos de verdad.
.github/ (si no existe)copilot-instructions.md# Instrucciones para Copilot
Este proyecto es un sitio en Hugo con posts en portugués, inglés y español.
## Stack
- Hugo (static site generator)
- SCSS con Dart Sass
- JavaScript vanilla (sin frameworks)
- Imágenes optimizadas en WebP
## Estándares de código
- Indentación con 2 espacios
- Strings con comillas simples en JS
- Nombres de archivo en kebab-case
Copilot va a leer esto cada vez que abras el chat o pidas una sugerencia con Agent Mode.
Si querés instrucciones que valgan para todos los proyectos:
A partir de la versión 2026.2 Copilot también lee AGENTS.md y CLAUDE.md anidados en el proyecto. Si ya usás Claude Code o Cursor, aprovechá el mismo archivo. Habilitalo en Settings > Tools > GitHub Copilot > Customizations > Enable nested AGENTS.md and CLAUDE.md.
| Acción | Mac | Windows/Linux |
|---|---|---|
| Aceptar sugerencia completa | Tab | Tab |
| Rechazar sugerencia | Esc | Esc |
| Aceptar línea por línea | Shift + Option + → | Shift + Alt + → |
| Próxima sugerencia | Shift + Option + ] | Shift + Alt + ] |
| Sugerencia anterior | Shift + Option + [ | Shift + Alt + [ |
| Forzar sugerencia (llamarla manualmente) | Shift + Option + \ | Shift + Alt + \ |
| Abrir panel de sugerencias (10 opciones) | Cmd + Shift + A > Open Copilot | Ctrl + Shift + A > Open Copilot |
Importante para quienes usan teclado ABNT2: el estándar oficial de Copilot es
Option + ],Option + [yOption + \, pero en el teclado brasileño esas combinaciones generan caracteres tipográficos («,», entre otros) y nunca llegan a Copilot. La solución es agregarShifta la combinación (quedaShift + Option + ...), que es lo que dejé en la tabla de arriba. Si usás teclado US, podés usar el estándar sin elShift.
| Acción | Mac | Windows/Linux |
|---|---|---|
| Abrir inline chat en el cursor | Ctrl + Shift + I | Ctrl + Shift + G |
| Ejecutar prompt | Enter | Enter |
| Cancelar | Esc | Esc |
El inline chat es lo que reemplaza el 90% del Copy/Paste a ChatGPT. Seleccionás un bloque de código, apretás Ctrl + Shift + I, escribís “convertí esto a TypeScript strict” y listo.
| Acción | Mac | Windows/Linux |
|---|---|---|
| Abrir ventana de chat | Ctrl + Shift + C | Ctrl + Shift + C |
| Nueva conversación | Cmd + N dentro del chat | Ctrl + N dentro del chat |
| Enfocar campo de input | Cmd + L | Ctrl + L |
| Adjuntar archivo al contexto | Arrastrá desde la sidebar o #nombre-del-archivo | Igual |
Vale mucho la pena entrar en Settings > Keymap y buscar copilot. El plugin solo expone un puñado de acciones bindables (copilot.chat.show, copilot.chat.inline, copilot.openCopilot, copilot.applyInlays, copilot.cycleNextInlays, copilot.cyclePrevInlays y copilot.requestCompletions), pero cubren el 100% de lo que realmente se puede acelerar. Los otros comandos (explain, fix, tests, doc) son slash commands que escribís dentro del chat, no teclas de atajo.
Lo que dejo en mi keymap:
| Acción del plugin | Atajo custom |
|---|---|
copilot.chat.show (abrir ventana de chat) | Cmd + Shift + K |
copilot.chat.inline (abrir inline chat en el cursor) | Cmd + Shift + I |
copilot.openCopilot (tool window de Copilot) | Ctrl + Option + \ |
Si algún atajo ya está en uso, WebStorm avisa y vos elegís si remover el viejo o mantener. Cmd + Shift + K por defecto abre Push… de Git: yo no uso Push por atajo, así que liberé esa tecla para Copilot, pero si vos sí la usás, elegí otra.
Una vez que el chat está abierto, los slash commands resuelven el resto:
/explain explica el código seleccionado/fix intenta corregir errores reportados por TS o ESLint/tests genera tests unitarios/doc genera documentación JSDoc/simplify propone una versión más cortaEscribí un comentario claro arriba de la función y Copilot genera la implementación. Por ejemplo:
// Devuelve la lista de posts publicados en los últimos 30 días,
// ordenados por fecha descendente, con máximo 10 items.
// Usa la API interna en services/posts.ts
function recentPosts(): Promise<Post[]> {
// Copilot completa desde acá
}
Cuanto más específico sea el comentario (incluyendo las rutas a archivos relevantes), mejor el resultado.
# para referenciar archivos en el chatDentro del chat, escribí #package.json o #services/posts.ts y Copilot carga el archivo al contexto. Te ahorra describir la estructura a mano.
Cuando necesitás renombrar una función en 20 archivos, cambiar la firma de un hook o migrar de una librería a otra, abrí el chat en Agent Mode, describí el objetivo y dejá que proponga los cambios. Vos revisás archivo por archivo antes de aceptar.
Antes de abrir un PR, seleccioná el diff de un método, apretá Ctrl + Shift + I y pedí “revisá este código buscando edge cases y tests que falten”. Agarra mucha cosa boba antes de llegar a GitHub.
Dentro del inline chat o del chat normal, escribí:
/tests: genera tests unitarios para el código seleccionado/doc: genera documentación JSDoc/fix: intenta corregir errores reportados por TS o ESLint/explain: explica el código seleccionado/simplify: propone una versión más cortacopilot-instructions.md, especificá si usás App Router o Pages Router@vue/typescript-plugin actualizado<style> puros si te parece que alucina mucho CSS.astro (normalmente hay que habilitarlo manualmente)Casi siempre es el Full Line Code Completion peleando. Volvé al Paso 3 y aplicá una de las dos opciones.
Shift + Option + \ (Mac) / Shift + Alt + \ (Windows/Linux) a demandaActualizá el plugin y reiniciá. Las versiones más nuevas cambiaron el modelo por defecto y la calidad subió bastante.
Puede ser que el plugin GitHub Copilot Chat no esté instalado. Volvé al Paso 1 e instalá el chat por separado.
Después de seguir el tutorial, verificá que:
.github/copilot-instructions.md creadoCon eso cerrado, tenés WebStorm corriendo Copilot de la forma más productiva posible. El próximo paso es practicar. En una semana vas a estar escribiendo comentarios que generan funciones enteras y usando el inline chat para refactorizar sin sacar las manos del teclado.
Y si también escribís Go, ¿viste mi otra guía? GitHub Copilot en GoLand: la mejor configuración para escribir Go más rápido.