En octubre de 2024, Laravel anunció oficialmente que estaba trabajando en una extensión para Visual Studio Code. Desde entonces, muchos nos quedamos a la expectativa de cuándo la veríamos en acción y qué características traería bajo el brazo. ¡La espera ha terminado! El 16 de diciembre de 2024, el equipo de Laravel publicó la primera versión Beta de esta extensión en el Marketplace de VS Code.
La extensión ya está disponible de forma pública en el Visual Studio Marketplace. Puedes instalarla directamente desde Visual Studio Code abriendo la pestaña de extensiones (o con el atajo Ctrl + Shift + X
/ Cmd + Shift + X
en macOS) y buscando Laravel
.
Aunque se encuentra en versión Beta, la extensión promete un conjunto de funcionalidades que simplifican el desarrollo en Laravel, tales como:
Resaltado inteligente (intellisense) para Blade y archivos de configuración.
Autocompletado de directivas y funciones específicas de Laravel.
Navegación rápida a rutas, controladores y archivos Blade.
Snippets para facilitar la creación de componentes, directivas y estructuras típicas de Laravel.
Integración con Artisan para ejecutar comandos sin salir del editor.
Hasta ahora, la comunidad se apoyaba en diferentes extensiones separadas para Blade, para Artisan, para autocompletado de rutas, etc. Esta iniciativa unifica las necesidades más comunes de un desarrollador Laravel en un solo paquete, garantizando una experiencia más coherente y (al menos en teoría) con menos conflictos de configuración.
Una lista no exhaustiva de las funcionalidades cubiertas por la extensión:
Ejemplos:
app('auth')
App::make('auth.driver')
app()->make('auth.driver')
App::bound('auth.driver')
App::isShared('auth.driver')
Autocompletado
Enlaces directos a los bindings
Advertencias si el binding no se encuentra
Información al pasar el ratón (hover)
Ejemplo:
asset('my-amazing-jpeg.png')
Autocompletado
Enlaces directos al recurso
Advertencias si el recurso no se encuentra
Resaltado de sintaxis
Ejemplos:
config('broadcasting.connections.reverb.app_id');
Config::get('broadcasting.connections.reverb.app_id');
Config::getMany([
'broadcasting.connections.reverb.app_id',
'broadcasting.connections.reverb.driver',
]);
config()->string('broadcasting.connections.reverb.app_id');
Autocompletado
Enlaces directos al valor de configuración
Advertencias si la configuración no se encuentra
Información al pasar el ratón (hover)
Autocompletado de métodos
Autocompletado de campos (e.g., métodos where
, create
, make
, creación de objetos)
Autocompletado de relaciones (e.g., métodos with
y claves de arrays)
Autocompletado en subconsultas (e.g., with
con claves de arrays y valores como closure)
Ejemplos:
env('REVERB_APP_ID');
Env::get('REVERB_APP_ID');
Autocompletado
Enlaces directos al valor en .env
Advertencias si el valor no se encuentra, con soluciones rápidas:
Añadir al archivo .env
Copiar valor desde .env.example
Información al pasar el ratón (hover)
Ejemplos:
inertia('Pages/Dashboard');
Inertia::render('Pages/Dashboard');
Route::inertia('/dashboard', 'Pages/Dashboard');
Autocompletado
Enlaces directos a la vista en JavaScript
Advertencias si la vista no se encuentra, con soluciones rápidas:
Crear vista
Información al pasar el ratón (hover)
Ejemplos:
route('dashboard');
signedRoute('dashboard');
Redirect::route('dashboard');
Redirect::signedRoute('dashboard');
URL::route('dashboard');
URL::signedRoute('dashboard');
Route::middleware('auth');
redirect()->route('dashboard');
Autocompletado
Enlaces directos a la definición de la ruta
Advertencias si la ruta no se encuentra
Información al pasar el ratón (hover)
Ejemplos:
Route::middleware('auth');
Route::middleware(['auth', 'web']);
Route::withoutMiddleware('auth');
Autocompletado
Enlaces directos al middleware correspondiente
Advertencias si el middleware no se encuentra
Información al pasar el ratón (hover)
Ejemplos:
trans('auth.failed');
__('auth.failed');
Lang::has('auth.failed');
Lang::get('auth.failed');
Autocompletado
Enlaces directos a las traducciones
Advertencias si la traducción no se encuentra
Información al pasar el ratón (hover)
Autocompletado de parámetros
Ejemplos:
Validator::validate($input, ['name' => 'required']);
request()->validate(['name' => 'required']);
request()->sometimes(['name' => 'required']);
Autocompletado para cadenas y arrays (excepto combinaciones con |
por ahora)
Ejemplos:
view('dashboard');
Route::view('/', 'home');
Autocompletado
Enlaces directos a las vistas Blade
Advertencias si la vista no se encuentra, con soluciones rápidas:
Crear vista
Información al pasar el ratón (hover)
Integración con el ejecutor de pruebas de VS Code.
Soporte para Livewire.
Soporte para Volt.
Soporte para Pint.
Mejoras en el autocompletado, enlaces, información al pasar el ratón y diagnósticos en archivos Blade.
El enfoque actual está en crear la mejor experiencia para desarrolladores Laravel en VS Code. Aunque no se descarta la posibilidad de portar esta funcionalidad a un LSP (Language Server Protocol) en el futuro, por ahora no está en la hoja de ruta inmediata.
La llegada de esta extensión oficial es un paso importante para quienes desarrollan con Laravel en Visual Studio Code. Con una sola instalación, se podrá tener acceso a un ecosistema unificado de herramientas y ayudas contextuales, sin necesidad de combinar múltiples extensiones de terceros. Si aún no la has probado, te animo a que instales la versión Beta, explores sus funcionalidades y compartas tu experiencia con la comunidad.
Con esto, quedamos a la espera de futuras actualizaciones y el anuncio de la versión estable. Mientras tanto, esta versión Beta ya supone una excelente noticia para el día a día de cualquier desarrollador Laravel.
Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.
Términos y condiciones Política de privacidad Términos y condiciones para afiliados Formulario de contacto
Copyright 2025 © Todos los derechos reservados.