Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Laravel Idea LiteNew to Visual Studio Code? Get it now.
Laravel Idea Lite

Laravel Idea Lite

Ariya Tech

|
1 install
| (1) | Free
Laravel Idea-style navigation and code generation for VS Code. Ctrl+Click route()/view()/config()/__(), autocomplete, and artisan generators with popups. Module-aware (nwidart/laravel-modules).
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Laravel Idea Lite

A free, alternative to PhpStorm's Laravel Idea plugin for Visual Studio Code. Navigate, autocomplete, rename symbols, and generate Laravel code — with full nwidart/laravel-modules support.

Features

Ctrl+Click Navigation (Go to Definition)

Click the string argument inside any of these helpers and jump straight to the source file:

Code Jumps to
route('orders.index') The ->name('orders.index') line in the route file
view('order::payments.index') Modules/Order/Resources/views/payments/index.blade.php
view('emails.welcome') resources/views/emails/welcome.blade.php
config('services.stripe') config/services.php (jumps to the key)
__('messages.welcome') The matching language file

Also works with signedRoute(), to_route(), View::make(), Route::view(), Config::get(), trans(), trans_choice(), Lang::get(), and @lang().

Autocomplete

Type inside route('...'), view('...'), config('...'), or __('...') and get live suggestions from your project's indexed route names, views, config keys, and translation groups.

Module-namespaced names like order::payments.index are included automatically.

Hover Information

Hover over any route, view, config, or lang string to see where it resolves to — or a warning if it's missing from the index.

Rename Symbol (F2)

Place your cursor on any PHP symbol and press F2 to rename it across your entire workspace. Powered by AST parsing via php-parser.

Supported symbols:

Symbol Example Scope
Variable $customer Current function/method
Class Customer All PHP files
Interface CustomerInterface All PHP files
Trait HasRoles All PHP files
Method register() All PHP files
Property $this->auth All PHP files
Function helper() All PHP files

Laravel-aware: Recognizes the [Controller::class, 'method'] pattern used in route definitions, event listeners, and job dispatching — renaming a method will also update these string references.

// Renaming 'show' via F2 updates this too
Route::get('stores/{store}', [CatalogController::class, 'show']);

Artisan Generators

Ctrl+Shift+P → Laravel: Generate... (or right-click a folder in the explorer).

Pick a type, enter a name, choose a target module (or root app), and toggle options. The extension runs the correct artisan command for you:

  • Root: php artisan make:model Invoice -m -c
  • Module: php artisan module:make-model Invoice Billing -m -c

Supported generators:

Generator Root command Module command
Model make:model module:make-model
Controller make:controller module:make-controller
Migration make:migration module:make-migration
Command make:command module:make-command
Seeder make:seeder module:make-seed
Form Request make:request module:make-request
Middleware make:middleware module:make-middleware
API Resource make:resource module:make-resource
Event make:event module:make-event
Listener make:listener module:make-listener
Job make:job module:make-job
Mailable make:mail module:make-mail
Notification make:notification module:make-notification
Policy make:policy module:make-policy
Validation Rule make:rule module:make-rule
Service Provider make:provider module:make-provider
Factory make:factory module:make-factory
Test make:test module:make-test
Helper Class (writes file directly) (writes file directly)
Module (new) — module:make

IDE Helper Generation

Ctrl+Shift+P → Laravel: Generate IDE Helpers

Integrates with barryvdh/laravel-ide-helper to generate:

  • Facade helpers (_ide_helper.php)
  • Model annotations (_ide_helper_models.php)
  • PhpStorm meta (.phpstorm.meta.php)

If the package isn't installed, the extension will offer to install it for you.

Run Artisan Commands

Ctrl+Shift+P → Laravel: Run artisan command...

Type any artisan command (e.g. migrate --seed, route:list) and it runs in a dedicated terminal.

Status Bar

Shows the number of indexed routes and views in the bottom status bar. Click it to re-index.

nwidart/laravel-modules Support

The extension is built with modular Laravel projects in mind. It automatically:

  • Indexes routes from Modules/*/Routes/**/*.php
  • Indexes views from Modules/*/Resources/views/**
  • Indexes config from Modules/*/Config/*.php
  • Indexes translations from Modules/*/Resources/lang/**
  • Detects modules for the generator target picker
  • Resolves module-namespaced view names (e.g. order::payments.index)

Commands

Command Description
Laravel: Generate... Pick a generator type and create a new file
Laravel: New Model Create a new Eloquent model
Laravel: New Controller Create a new controller
Laravel: New Migration Create a new migration
Laravel: New Command Create a new artisan command
Laravel: New Helper Class Create a PSR-4 helper class
Laravel: Generate IDE Helpers Generate barryvdh/laravel-ide-helper files
Laravel: Run artisan command... Run any artisan command
Laravel: Refresh Index Re-scan the workspace

Settings

Setting Default Description
laravelIdea.phpCommand "php" Command to run PHP/artisan (e.g. "docker compose exec app php")
laravelIdea.modulesPath "Modules" Folder where nwidart modules live (relative to workspace root)
laravelIdea.viewExtensions [".blade.php", ".php"] File extensions treated as views when indexing

Requirements

  • Visual Studio Code 1.75+
  • A Laravel project (detected by the presence of an artisan file)

How It Works

On activation, the extension scans the workspace and builds in-memory lookup tables for routes, views, config keys, and translation groups. File watchers automatically re-index when files change (debounced at 500ms). Generators trigger a refresh after they run.

No PHP reflection or background artisan calls are needed for navigation — files are parsed directly with regex, keeping it fast and offline-friendly.

Development

git clone https://gitlab.com/ariya-projects/vs-code-extensions/laravel-idea-vscode.git
cd laravel-idea-vscode
npm install
npm run compile

Press F5 in VS Code to launch an Extension Development Host for testing.

Build & Install

npm run build
npx @vscode/vsce package --no-dependencies
code --install-extension laravel-idea-lite-0.1.0.vsix

Or on Windows, double-click build.bat.

Support Us

If this extension saved you time, consider supporting development:

Currency Address
TRX TY4wx4Pd5ftsmRLjZwRq8ikdNenoyXXWsx
ETH 0x872B453BbE046662990e7048d6dC992d09c16e7b

Contributing

Contributions are welcome! Please open an issue or submit a merge request.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft