Laravel extension for coc.nvim.
CocInstall:
:CocInstall @yaegassy/coc-laravel
scoped packages
vim-plug:
Plug 'yaegassy/coc-laravel', {'do': 'yarn install --frozen-lockfile'}
Note:
This coc-extension executes artisan
commands in the background for some features. Therefore, you must be able to run PHP
in your environment.
This coc-extension will provide various completion features and more features for Laravel projects.
v3
!)
laravel.stubs.download
command.DateTime::|
) | DEMO
$obj->|
) | DEMO
_ide_helper_models.php
file generated by laravel-ide-helper
@extends
and @include
directives.laravel.view.findAllReferences
command | DEMO
routes
, app/Http/Controllers
,app/View/Components
, app/Http/Livewire
and app/Livewire
.laravel.artisan.run
command feature.laravel.sailArtisan.run
command feature.coc-laravel
uses the workspace/didChangeWatchedFiles
notification to monitor files in the project.
In coc.nvim, it is recommended to install watchman in order to utilize this feature.
If you have difficulty installing watchman
, you can use coc-laravel
without watchman
, but you may not be able to immediately use IntelliSense with the newly added files.
In this case, please manually enter the following command.
:CocCommand laravel.project.restart
or
:CocRestart
Depending on the project like mono repo or how Vim/Neovim is started, workspaceFolders
may not be recognized correctly.
To make coc.nvim recognize workspaceFolders
correctly, you can set b:coc_root_patterns
in .vimrc/init.vim
Example:
au FileType php,blade let b:coc_root_patterns = ['.git', '.env', 'composer.json', 'artisan']
For more information, check this coc.nvim's wiki.
laravel.enable
: Enable coc-laravel extension, default: true
laravel.environment.phpPath
: Path to PHP, you can use a custom version of PHP. If there is no setting, php
of the execution environment will be used, default: ""
laravel.project.excludeVendors
: List of target vendor directories to exclude during project analysis, e.g. ["fakerphp", "phpunit"]
, default: []
laravel.project.startupMessageEnable
: Enable project startup messages, default: true
laravel.stubs.customVersion
: Specify the version of stubs to download with the laravel.stubs.download
command. If not set, the stubsVersion
defined in package.json
will be used, default: ""
laravel.stubs.useStubs
: List of stubs to be used, default: ["Core", "date", "standard"]
laravel.completion.enable
: Enable all completion feature, default: true
laravel.completion.directiveEnable
: Enable directive completion, default: true
laravel.completion.directiveList
: List of directive used in directive completion, default: Omitted due to the large number of settings, See configuration in package.json
laravel.completion.configEnable
: Enable config completion, default: true
laravel.completion.envEnable
: Enable env completion, default: truelaravel.completion.validationEnable
: Enable validation completion.laravel.completion.routeEnable
: Enable route completion, default: true
laravel.completion.viewEnable
: Enable view completion, default: true
laravel.completion.middlewareEnable
: Enable middleware completion, default: true
laravel.completion.guardEnable
: Enable guard completion, default: true
laravel.completion.translationEnable
: Enable translation completion, default: true
laravel.completion.componentEnable
: Enable component completion, default: true
laravel.completion.phpFunctionEnable
: Enable php function completion, default: true
laravel.completion.phpFunction.stubsEnable
: Enable stubs in phpFunction completion, default: true
laravel.completion.phpFunction.vendorEnable
: Enable vendor in phpFunction completion, default: true
laravel.completion.phpClassEnable
: Enable php class completion, default: true
laravel.completion.phpClass.stubsEnable
: Enable stubs in phpClass completion, default: true
laravel.completion.phpClass.vendorEnable
: Enable vendor in phpClass completion, default: true
laravel.completion.phpConstantEnable
: Enable php constant completion, default: true
laravel.completion.phpConstant.stubsEnable
: Enable stubs in phpConstant completion, default: true
laravel.completion.phpConstant.vendorEnable
: Enable vendor in phpConstant completion, default: true
laravel.completion.phpStaticClassEnable
: Enable php static class completion, default: true
laravel.completion.phpObjectMemberEnable
: Enable php object member completion, default: true
laravel.completion.phpVariableEnable
: Enable php variable completion, default: true
laravel.completion.phpKeywordEnable
: Enable php keyword completion, default: true
laravel.completion.eloquentModelFieldEnable
: Enable eloquent model field completion, default: true
laravel.completion.viewReferenceVariableEnable
: Enable view reference variable completion, default: true
laravel.completion.methodParameterEnable
: Enable method parameter completion, default: true
laravel.completion.livewireEnable
: Enable livewire completion, default: true
laravel.livewire.wireClickAttributes
: List of click related action to be added to wire:xxxx
, default: ["click", "click.prefetch"]
laravel.livewire.wireModelAttributes
: List of model related action to be added to wire:xxxx
, default: ["model", "model.debounce.100ms", "model.lazy", "model.defer"]
laravel.livewire.wireEventAttributes
: List of browser events to be added to wire:xxxx
. No need for wire:model
or wire:click
. default: Omitted due to the large number of settings, See configuration in package.json
laravel.definition.enable
: Enable definition, default true
laravel.reference.enable
: Enable reference, default true
laravel.hover.enable
: Enable hover, default true
laravel.diagnostic.enable
: Enable diagnostic, default: true
laravel.codeAction.enable
: Enable code action, default: true
laravel.artisan.withoutArgumentsCommandList
: List of commands to quickly execute laravel.artisan.run
or laravel.sailArtisan.run
without prompting for arguments or options, e.g. ["route:list", "clear-compiled"]
, default: []
laravel.artisan.enableSplitRight
: Use vertical belowright for artisan terminal window, default: false
laravel.project.restart
: Run project restartlaravel.project.stats
: (Develop) Show project statslaravel.project.finder
: (Develop) Run project finderlaravel.stubs.download
: Download stubslaravel.stubs.version
: Show the version of stubslaravel.artisan.run
: Run artisan commandlaravel.sailArtisan.run
: Run sail artisan commandlaravel.view.findAllReferences
: Find view file referenceslaravel.showOutput
: Show laravel output channelExample key mapping (Code Action related):
nmap <silent> ga <Plug>(coc-codeaction-line)
nmap <silent> <leader>ac <Plug>(coc-codeaction-cursor)
Actions:
Create blade component
Fix method directive parameter
MIT
This extension is built with create-coc-extension