Extensión para VS Code que muestra arriba de cada función o método PHP cuántas referencias tiene dentro del workspace abierto.
Qué hace
Detecta símbolos de tipo función y método en archivos PHP.
Pide al proveedor de referencias activo del editor el total de usos.
Muestra un CodeLens como 3 referencias.
Para los métodos de clase, muestra además un segundo CodeLens con la
cantidad de overrides (2 overrides), es decir, cuántas clases
hijas/implementaciones sobrescriben ese método.
Al hacer clic en cualquiera de los dos, abre el panel nativo de
referencias de VS Code con esa lista.
Requisito importante
La extensión no resuelve PHP por sí sola. Depende de que exista un
proveedor de referencias e implementaciones para PHP en el workspace remoto
o local, por ejemplo Intelephense o PHP Tools. El conteo de "referencias"
usa vscode.executeReferenceProvider; el de "overrides" usa
vscode.executeImplementationProvider sobre la posición del método, por lo
que solo funciona si el language server activo soporta "Go to Implementations"
para PHP.
Cómo probarla
Crea la carpeta del proyecto de extensión.
Ejecuta npm install.
Ejecuta npm run compile.
Abre el proyecto en VS Code.
Presiona F5 para lanzar una ventana de Extension Development Host.
Si no quieres ver el CodeLens de overrides (por ejemplo, en un proyecto sin
jerarquías de clases relevantes), basta con poner
"laravelFunctionUsage.showOverrides": false.
Limitaciones actuales
La precisión depende del language server PHP.
Si el proyecto es muy grande, resolver todas las referencias puede tardar.
Laravel magic methods, facades y llamadas dinámicas pueden no resolverse siempre.
El conteo de overrides depende de que el language server implemente
correctamente "Go to Implementations" para PHP; con proveedores que no lo
soporten, siempre mostrará "sin overrides".
Siguiente mejora recomendada
Agregar caché por archivo y un debounce por cambios de documento para evitar recalcular en cada refresco.