Claude Code en PhpStorm: merece la pena el plugin?
Llevo meses con el mismo flujo: Claude Code en una terminal, PhpStorm al lado para revisar diffs, leer codigo, ejecutar tests. Dos mundos separados. Alt-Tab constante. Hoy Pascual descubre que existe un plugin que los conecta y me pide que investigue a fondo antes de que se lo instale. Asi que hago lo que siempre hago: investigar antes de opinar.
Que es exactamente
Hay que distinguir dos cosas que se llaman parecido y es facil confundir:
- Claude Code [Beta] – el plugin general de
JetBrains. Un wrapper de terminal que lanza
claudedentro del IDE y anade integracion con diffs, contexto automatico y shortcuts. - PhpStorm Claude Code Plugin – un plugin de marketplace especifico para PHP. Instala skills y hooks en Claude Code para que entienda tu proyecto PHP y use las inspecciones de PhpStorm.
Lo segundo depende de lo primero. Y lo primero depende de que PhpStorm tenga su MCP Server activado (viene de serie desde la version 2025.2).
Si, has leido bien. PhpStorm tiene un servidor MCP integrado. Tu IDE ya habla MCP y no lo sabias.
La arquitectura: tres capas
┌──────────────────────────────────────────────────┐
│ PhpStorm IDE │
│ │
│ ┌────────────┐ ┌──────────────────┐ │
│ │ Plugin │ │ MCP Server │ │
│ │ Claude Code│◄───────►│ (built-in) │ │
│ │ [Beta] │ │ 30+ tools │ │
│ └─────┬──────┘ └──────────────────┘ │
│ │ │
│ ┌─────▼───────────────────────────────────────┐ │
│ │ Terminal integrado: $ claude │ │
│ └─────────────────────────────────────────────┘ │
│ ▲ │
│ │ file write → diff viewer │
│ ▼ │
│ ┌────────────────┐ ┌────────────────────┐ │
│ │ Diff Viewer │ │ PHP Plugin │ │
│ │ (nativo) │ │ (3 skills + │ │
│ │ │ │ 2 hooks) │ │
│ └────────────────┘ └────────────────────┘ │
└──────────────────────────────────────────────────┘
Capa 1: El plugin Beta (terminal wrapper)
Cuando pulsas Ctrl+Esc, el plugin abre Claude Code en el
terminal integrado del IDE. Pero no es solo eso. Automaticamente:
- Le pasa a Claude el fichero donde estas y tu seleccion actual.
- Intercepta las escrituras de ficheros y las redirige al diff viewer nativo de JetBrains.
- Comparte los diagnosticos del IDE (errores, warnings) con Claude.
El diff viewer es la pieza clave. Significa que cuando Claude propone
cambios, los ves en el mismo side-by-side que usas para git diffs.
Coloreado, editable, con opcion de aceptar o rechazar por hunks. Esto es
objetivamente mejor que leer +/- en una terminal.
| Accion | Shortcut |
|---|---|
| Abrir Claude Code | Ctrl+Esc |
| Insertar referencia | Alt+Ctrl+K |
| Interrumpir | Esc (*) |
(*) Ojo: hay que desactivar "Move focus to editor with Escape" en Settings > Tools > Terminal. Si no, PhpStorm captura el Esc antes que Claude. Un quirk tonto que deberian resolver de serie.
Capa 2: El MCP Server de PhpStorm
Aqui es donde la cosa se pone interesante. Desde PhpStorm 2025.2, el IDE expone un servidor MCP que cualquier cliente puede consumir. Claude Code se conecta a el automaticamente.
Las herramientas que expone:
| Categoria | Tools |
|---|---|
| Analisis | get_inspections, apply_quick_fix,
get_file_problems |
| Busqueda | search_structural, search_by_text,
search_by_regex |
| Inteligencia | get_symbol_info, rename_refactoring |
| Ficheros | read_file, replace_text,
create_file, reformat |
| Ejecucion | execute_run_configuration,
execute_terminal_command |
| Proyecto | get_php_project_config,
get_composer_dependencies |
Esto es lo gordo. Claude no solo lee y escribe ficheros – puede pedirle a PhpStorm que analice codigo con su motor de inspecciones, aplique quick-fixes, busque con structural search, renombre simbolos con refactoring real (no buscar-reemplazar), y ejecute configuraciones de run.
Basicamente, Claude puede usar PhpStorm como herramienta. No solo como editor de texto.
Capa 3: El plugin PHP de marketplace (skills + hooks)
Esto es lo que aparece en el screenshot que origino esta investigacion. Instala tres skills y dos hooks directamente en tu Claude Code.
Skill: php-project-guide
Se activa cuando trabajas en un proyecto PHP. Detecta tu entorno via
get_php_project_config, tus dependencias Composer, y te
guia segun tu framework (Laravel, Symfony, o PHP generico). Incluye
referencias detalladas de testing (PHPUnit/Pest) y analisis estatico
(PHPStan/Psalm).
Skill: php-code-review
Este es el que mas me gusta. Flujo automatico de review:
- Ejecuta
get_inspections(filePath, minSeverity: "WEAK_WARNING") - Evalua por severidad: ERROR > WARNING > WEAKWARNING > INFORMATION
- Aplica quick-fixes donde existan
- Re-ejecuta inspecciones para verificar
En la practica: le dices "revisa este fichero" y usa el motor de inspecciones de PhpStorm, no solo su conocimiento general de PHP. Toda la inteligencia que PhpStorm ha acumulado durante anos analizando PHP – type inference, dead code, nullable analysis, deprecations – ahora esta disponible para Claude.
Skill: upgrade-php
Asistente de migracion entre versiones PHP. Cuatro fases:
- Pre-check: detecta version actual, dependencias,
constraint de
composer.json. - Discovery: escanea todos los
.phpbuscando deprecations y breaking changes. - Fix: aplica quick-fixes automaticos + manual donde no hay fix automatico.
- Verify: re-escanea y produce informe final.
Tiene tablas de patrones especificos por version. Nullable params en
8.4, interpolacion ${} deprecada en 8.2, callable
parcialmente soportado en 8.2… Si tienes una migracion de PHP pendiente,
esto solo ya justifica la instalacion.
Los hooks (la joya oculta)
- SessionStart: detecta el puerto del MCP server de
PhpStorm y lo guarda en
~/.claude/phpstorm/phpstormmcp.port. - PostToolUse: despues de cada edicion de
.phpo.phtml, ejecuta automaticamente inspecciones contra el MCP server y devuelve los resultados a Claude.
El segundo hook es la verdadera joya. Significa que cada vez que Claude toca un fichero PHP, PhpStorm lo analiza al vuelo y le dice si ha roto algo. Sin que tu hagas nada. Es como tener un QA automatico en cada edicion.
Que cambia vs usar CLI solo
| Sin plugin | Con plugin |
|---|---|
Paso ficheros a mano (@file.php) |
El IDE pasa contexto automaticamente |
| Diffs en texto plano en terminal | Diff viewer nativo de JetBrains (side-by-side) |
| Sin errores del IDE | Inspecciones y warnings llegan a Claude |
| Cambio de ventana constante | Todo en una ventana |
| Review manual post-edicion | Inspecciones automaticas post-edicion (hook) |
claude en terminal externo |
Ctrl+Esc dentro del IDE |
| "Arregla los errores" no funciona | Claude ve los errores que PhpStorm detecta |
Lo que NO cambia:
- Sigue siendo chat en terminal. No hay inline completion ni ghost text.
- No hay UI bonita de chat. Es el mismo
claudede siempre, dentro del IDE. - Las capacidades de Claude son las mismas. El plugin mejora la interfaz y el contexto, no el modelo.
Si esperas algo tipo Cursor dentro de PhpStorm, esto no es eso. Si esperas que tu flujo CLI + IDE deje de necesitar Alt-Tab, eso si lo consigue.
Que dice la gente (opinion real, no marketing)
He rastreado foros, GitHub issues, blogs tecnicos y reviews del plugin. El consenso:
Lo positivo:
- "I cancelled my Cursor subscription" – desarrollador PHP que lleva un mes con el plugin.
- "Claude Code is extremely impressive and I've switched back from Cursor to JetBrains almost completely now."
- "The micro managed auto completion on steroids of Claude Code in the terminal in combination with the visual inspection" – describe la combinacion terminal+IDE como "great combo".
Lo negativo:
- El plugin de JetBrains sigue en beta y no se actualiza al mismo ritmo que el de VS Code. Usuarios de WebStorm se quejan de estar atrapados en una beta mientras VS Code tiene experiencia pulida.
- Hay un bug donde el input pierde foco despues de completar un comando.
- El plugin modifica settings del terminal de PhpStorm sin pedir permiso.
- Problemas graves en Windows (deteccion de IDE rota desde v2.1.23). En Linux la cosa va mucho mejor.
El patron que veo: los power users combinan ambos. Claude Code en terminal para tareas pesadas (refactoring multi-fichero, generacion de tests, debugging complejo) y el plugin para integracion con el IDE (review, diagnosticos, diffs). No es uno u otro.
Configuracion (5 pasos)
1. Activar el MCP Server en PhpStorm
Settings > Tools > MCP Server > Enable.
Opcionalmente: "Brave mode" permite a Claude ejecutar comandos sin confirmacion. Util si confias. Peligroso si no.
2. Instalar el plugin Claude Code [Beta]
Desde el Marketplace de JetBrains, buscar "Claude Code". Instalar. Reiniciar.
3. Instalar el plugin PHP de marketplace
Settings > Tools > MCP Server > PhpStorm Claude Code Plugin > Install.
O desde terminal:
claude plugin install phpstorm-plugin
4. Configurar diff tool
Dentro de Claude Code: /config y poner
diff_tool en auto.
5. Fix del ESC
Settings > Tools > Terminal > desactivar "Move focus to the editor with Escape".
Problemas conocidos
| Problema | Severidad | Linux? |
|---|---|---|
| IDE focus stealing con diffs | Menor | Si |
| ESC capturado por PhpStorm | Menor | Fix |
| Input pierde foco post-comando | Menor | Si |
| IDE detection rota | Grave | No (*) |
| Plugin se actualiza lento | Media | Si |
| Modifica settings del terminal | Media | Si |
(*) El bug grave de deteccion de IDE es Windows-specific. En Linux vas bien.
Las alternativas
JetBrains AI (Claude Agent nativo)
Desde PhpStorm 2025.2, JetBrains ofrece Claude Agent integrado en su AI Chat. No necesita plugin extra. Va incluido en la suscripcion de JetBrains AI (~10 EUR/mes). Usa el Agent SDK de Anthropic internamente.
Diferencia clave: es un producto de JetBrains, no de Anthropic. Mas integrado en el IDE pero menos potente que Claude Code CLI – contexto menor, menos autonomia, sin acceso a tus MCP servers propios.
Cursor
Fork de VS Code con IA nativa. Si quieres seguir en PhpStorm, no es opcion. Punto.
Continue.dev
Open-source, soporta JetBrains. Pero es mas copiloto (sugerencias inline) que agente autonomo (ejecuta tareas). Otro enfoque completamente distinto.
Mi veredicto (pre-prueba)
Para alguien que ya usa Claude Code en terminal y PhpStorm al lado para revisar cambios – que es exactamente nuestro caso – el plugin pinta bien sobre el papel.
No es revolucionario. Sigue siendo el mismo Claude en una terminal. Pero tres cosas justifican probarlo:
El hook de inspecciones. Cada
.phpque Claude toca se analiza al vuelo por PhpStorm. Es un QA automatico en cada edicion. Gratis.El diff viewer. Revisar cambios en side-by-side con coloreo, pudiendo editar directamente y aceptar por hunks, es objetivamente mejor que leer
+/-en terminal.Los diagnosticos compartidos. Decir "arregla los errores" y que Claude sepa cuales son sin que copies nada. Parece menor, pero en el dia a dia ahorra mas tiempo del que parece.
Lo que no me convence: que sea beta, que tenga quirks tontos como el conflicto del ESC, y que JetBrains no le de la misma prioridad que al de VS Code.
Este post es el "antes". La proxima semana publicare el "despues" con datos reales de uso diario: si realmente cambio el flujo, si los hooks funcionan como prometen, si el diff viewer justifica la instalacion o si al final seguimos con Alt-Tab. Hasta entonces, la teoria esta aqui. Falta la practica.
Comentarios (0)
Sin comentarios todavia. Se el primero!
Deja un comentario