12. Integración con editores e IDEs (VS Code, JetBrains)

Objetivo del tema

Llevar OpenCode dentro de tu entorno de trabajo habitual: instalación en Visual Studio Code y sus derivados, atajos de teclado, compartición automática de contexto y opciones disponibles para JetBrains y otros entornos.

12.1 Un agente que vive junto a tu editor

Gracias a su arquitectura cliente/servidor, OpenCode no necesita ser un plugin invasivo del editor: el agente corre como proceso propio y cada interfaz (terminal, web, escritorio, IDE) es simplemente un cliente. Esto trae dos consecuencias prácticas:

  • Cero configuración por proyecto: las sesiones, permisos y reglas son los mismos sin importar desde dónde abras el agente.
  • Puedes alternar: empezar una tarea en el IDE y continuarla después en la terminal pura con /sessions.

La base de todo es simple: abre la terminal integrada de tu editor y ejecuta opencode.

12.2 Instalación en VS Code, Cursor, Windsurf y VSCodium

En Visual Studio Code y sus derivados más populares, la extensión se instala sola:

# Abre la terminal integrada del editor (Ctrl+`) y ejecuta:
opencode

Al detectar el entorno, OpenCode instala automáticamente su extensión en el editor. Si prefieres hacerlo a mano, busca "OpenCode" en el mercado de extensiones y pulsa Instalar.

Para que la instalación automática funcione, el comando CLI de tu editor debe estar en el PATH: code, cursor, windsurf o codium. Si no lo está, ejecuta "Shell Command: Install 'code' command in PATH" desde la paleta de comandos (F1).

12.3 Uso diario dentro del editor

Lanzamiento rápido

Cmd+Esc (macOS) o Ctrl+Esc (Windows/Linux) abre OpenCode en una terminal dividida, o enfoca la sesión existente.

Sesión nueva

Cmd+Shift+Esc / Ctrl+Shift+Esc fuerza una nueva sesión aunque ya haya una abierta.

Contexto automático

La selección activa o la pestaña actual se comparten con OpenCode: pregunta sobre el código que tienes delante sin copiar nada.

Referencias de archivo

Cmd+Opción+K (macOS) o Alt+Ctrl+K inserta una referencia precisa al archivo y líneas seleccionadas, con formato @Archivo#L37-42.

Esa última función merece un ejemplo: seleccionas una función sospechosa, presionas el atajo y en el campo de la TUI aparece algo como:

¿Qué pasa si @src/utils/calculo.ts#L37-42 recibe un valor negativo?

El agente recibirá el archivo exacto con el rango de líneas señalado, sin ambigüedades.

12.4 Complementos del flujo: editor externo y diffs

La integración también funciona en sentido inverso: desde la TUI puedes usar tu editor gráfico para tareas de texto largo. Configura la variable EDITOR con la bandera de bloqueo para que OpenCode espere hasta que cierres el documento:

export EDITOR="code --wait"    # ~/.bashrc o ~/.zshrc
  • /editor (ctrl+x e): redacta prompts largos cómodamente en VS Code.
  • /export (ctrl+x x): exporta la conversación a Markdown y la abre en tu editor para archivarla o adjuntarla a un PR.

Cuando el agente termina cambios, revisarlos en VS Code es directo: el panel de control de versiones muestra los archivos tocados y el diff lado a lado, igual que cualquier modificación manual tuya.

12.5 JetBrains y otros entornos

En IntelliJ IDEA, PyCharm, WebStorm y compañía, la vía universal sigue siendo la terminal integrada: ejecuta opencode y trabajas exactamente igual. Para una integración más profunda existe el estándar abierto ACP (Agent Client Protocol):

opencode acp     # servidor ACP por stdin/stdout en nd-JSON

ACP permite que un editor actúe como cliente del agente incrustándolo en su propia interfaz; los plugins compatibles con este protocolo son la puerta de entrada en JetBrains. Y si no usas ninguno de estos entornos, siempre queda la aplicación de escritorio o la interfaz web (opencode web) como alternativa gráfica completa.

12.6 ¿Terminal, IDE o escritorio?

Cómo elegir la interfaz según el momento del día
Situación Interfaz recomendada Por qué
Tareas profundas de refactor o arquitectura TUI a pantalla completa Más espacio visual para conversaciones largas y diffs.
Cambios puntuales mientras programas Extensión del IDE (Ctrl+Esc) Sin salir del archivo: contexto automático de la selección.
Revisar y ajustar propuestas IDE + panel de Git Diffs lado a lado y aceptación selectiva.
Trabajo remoto sobre otro equipo o contenedor opencode web / attach El agente corre donde están los datos; tú solo ves la interfaz.

Hábito sugerido: deja una sesión de OpenCode abierta en la terminal dividida durante toda la jornada. El costo de consultar al agente baja tanto que empezarás a hacerlo para cosas que antes ni planteabas: dudar sobre una API, verificar una expresión regular, documentar lo recién escrito.

Conclusión: la extensión para editores basados en VS Code convierte a OpenCode en un compañero permanente sin sacrificar nada de la TUI: mismos comandos, mismas sesiones, mismo modelo, ahora con contexto automático del editor. En el próximo tema veremos cómo llevar esta colaboración al siguiente nivel: Git, GitHub, GitLab y el trabajo en equipo.