Laravel Intellisense Plugin for Visual Studio Code


June 12th, 2020


Laravel Intellisense is a Visual Studio Code plugin by Mohamed Benhida that provides some nice auto-completion for things like Eloquent models, factories, config, and API resources.

The thing I appreciate about this plugin is support for things like config(), view(), and other areas of Laravel you’d typically not have auto-completion for in most editors, but could save a decent amount of time context switching between the database and code.

Here’s the full list of features:

  • Resource Autocompletion
  • Eloquent Autocompletion
  • Factory Autocompletion
  • View Autocompletion
  • Config Autocompletion
  • Route Autocompletion

What’s nice about this plugin is that it provides help for things unique to Laravel developers: editor help around your model data. The plugin provides auto-completion by using an app’s database connection to get model attributes.

For example, let’s say you need to write a factory for a newly created model. With the current version of Laravel, you need to reference database fields in a migration class, a database table, or perhaps a PHPDoc field names to see what’s available.

If Visual Studio Code isn’t for you, Blueprint might mitigate some of the need for this auto-completion by generating various files from a centralized configuration file. You could also benefit from using both Blueprint and Laravel Intellisense together, I just want to point out that there are multiple ways to manage the mundane parts of files and code around application data.

Another solution might be the Laravel Populated Factory plugin, but that only helps with factories.

I typically manage a list of @property-read values in the model class documentation (which serves as a helpful reference and auto-completion for model attributes), but that doesn’t help with auto-completion when trying to fill out factory array keys.

The View completion is another added benefit that allows you to avoid manually looking up files as often:

PhpStorm doesn’t provide auto-complete using the {{ view() }} helper function, however, it does support auto-complete with the @include directive within Blade files.

Learn More

You can download this plugin by visiting laravel intellisense in the Visual Studio Marketplace. The source code is available on GitHub at simoebenhida/laravel-intellisense.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.