This extension provides Laravel routes, views and ... autocomplete for VSCode.
Please read the security note and how to configure before using the extension.
- Route names and route parameters
- Views and variables
- Configs
- Translations and translation parameters
- Laravel mix and vite functions
- Validation rules
- View sections and stacks
- Env
- Route Middlewares
- Asset
- Model Attributes (Beta!)
- Blade directives
Your custom validation rules snippets.
Example:
"LaravelExtraIntellisense.customValidationRules": {
"mobile": "mobile",
"distance_gt": "distance_gt:${0:1km}"
}
Command to run PHP codes to interact with your Laravel application.
Default:
php -r \"{code}\"
Note: {code} is PHP code generated by extension and should be wrapped with "".
Base path of your Laravel application. useful if your Laravel project is not at the root of you project directory.
If the base path starts with
.
(like./src
) it will be considered a relative path otherwise it will be considered an absolute path.
Same as LaravelExtraIntellisense.basePath
but this one using for require_once
in generated PHP codes.
You also can use /
instead of .
as directory separator for view autocomplete.
Array of paths including your models. (Default: ["app", "app/Models"]
)
Variable names that should provide autocomplete with specific model class. Finding variable type (especially in views) is not easy so you need to manually define variable types.
Example: The Following setting provides auto completion each time you type discountedProduct->
with App\Models\Product
model attributes.
"LaravelExtraIntellisense.modelVariables": {
"discountedProduct": "App\\Models\\Product"
}
All
camelCase
andsnake_case
of model names provide autocomplete by default. For exampleproductDiscount
andproduct_discount
provides member autocomplete fromApp\Models\ProductDiscount
model.
Change model attribute names case to snake_case
, camelCase
or default
. (Default = default
)
Change model accessor names case to snake_case
, camelCase
or default
. (Default = snake
)
If you want to disable blade directives autocomplete set this to true.
If you want to disable authorization autocomplete set this to true
Hide error alerts when extension can't get data from your application.
This is a simple configuration to use via Laradock.
"LaravelExtraIntellisense.phpCommand": "docker exec -w /var/www/your-project -u laradock laradock_workspace_1 php -r \"{code}\"",
"LaravelExtraIntellisense.basePathForCode": "/var/www/your-project"
Another sample for Laravel Sail.
"LaravelExtraIntellisense.basePathForCode": "/var/www/html",
"LaravelExtraIntellisense.phpCommand": "docker-compose exec -w /var/www/html YOUR_SERVICE_NAME php -r \"{code}\""
Default YOUR_SERVICE_NAME for Laravel sail is laravel.test
.
It is possible to use this extension with other docker images or even other virtual machines.
This extension runs your Laravel application automatically and periodically to get the information needed to provide autocomplete.
So if you have any unknown errors in your log make sure the extension not causing it.
Also if you writing any sensitive code in your service providers, disable the extension temporarily to prevent unwanted application executing.
- Add blade directives autocomplete (#45).
- Add change case option for model attributes (#46).
- Add support workspace with multiple directory (#54).
- Add nested translations support (#54).
- Add Vite autocompletion support (#131)
- Add
asset
support. - Add Model attributes autocomplete (Beta).
- Add Docker support.
env
autocomplete added.- Route
middleware
autocomplete added. - Nested stack and section support added.
- Function parser improvement.
- Performance improvement.
- Bug fixes (#25, #26)
- Add configuration for views separator (#22).
can
,cannot
autocomplete.- Fix #18.
- Validation rules autocomplete added.
- works with
Validator
class,validate
functions and inside request classes. markdown
function added to view functions for autocomplete.- Using file watcher instead of save event. Better change detect for view autocomplete.
- json translation autocomplete added.
- Auto-Retry removed from all providers. causes some performance issues.
- Disable logging added.
- View parameters autocomplete.
- Route autocomplete bug in linux fixed.
- Blade section autocomplete added.
- Blade stack autocomplete added.
- Duplicate section autocomplete items fixed.
- PHP commands converted to async functions to prevent unresponsive extension host error.
- Fix problems with linux.
- Add translation autocomplete.
- Improved providers.
- Add mix autocomplete.
- Performance improvments.
- Route action autocomplete added.
Route::get
, *Route::post
, ... autocompletes controller actions inside app\Http\Controllers.
- Config autocomplete added.
- Route bug fix.
- View names with namespaces ready to use.
- View functions autocomplete added.
- Blade bug fix.
- Add route autocomplete.