Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Laravel extension for coc.nvim

License

NotificationsYou must be signed in to change notification settings

yaegassy/coc-laravel

Repository files navigation

Laravel extension forcoc.nvim.

Install

CocInstall:

:CocInstall@yaegassy/coc-laravel

scoped packages

vim-plug:

Plug'yaegassy/coc-laravel', {'do':'yarn install --frozen-lockfile'}

Features

Note:

This coc-extension executesartisan commands in the background for some features. Therefore, you must be able to runPHP in your environment.


This coc-extension will provide various completion features and more features for Laravel projects.

  • Completions
    • Component completion |DEMO
    • Livewire completion (Also compatible with Livewirev3!)
      • Livewire tag completion |DEMO
      • Livewire action completion |DEMO
      • Livewire event completion |DEMO
      • Livewire property completion |DEMO
      • Livewire directive completion |DEMO
    • PHP completion in PHP-related region of Blade file
      • [NOTE]: To use this feature, please execute thelaravel.stubs.download command.
      • PHP Function completion |DEMO
      • PHP Class completion |DEMO
      • PHP Static Class completion (Static class members and constants, e.g.DateTime::|) |DEMO
      • PHP Object Member completion (e.g.$obj->|) |DEMO
      • PHP Variable completion |DEMO
      • PHP Constant completion |DESCRIPTION
      • PHP Keyword completion |DESCRIPTION
    • Directive completion |DEMO
    • Config completion |DEMO
    • Env completion |DEMO
    • Validation completion |DEMO
    • Route completion |DEMO
    • View completion |DEMO
    • Middleware completion |DEMO
    • Guard completion |DEMO
    • Translation completion |DEMO
    • Method directive parameter completion |DEMO
    • View reference variable completion |DEMO
    • Eloquent model field completion |DEMO
    • Misc
  • Definitions
    • View definition |DEMO
      • [PHP -> Blade] Definition jump to the Blade template specified by the view() function.
    • Blade View definition |DEMO
      • [Blade -> Blade] Jump to the Blade template specified by the@extends and@include directives.
    • Component definition |DEMO
      • [Blade -> PHP or Blade] Jump to the component file. Both class components and anonymous components are supported.
    • Livewire tag definition |DEMO
      • [Blade -> PHP or Blade] Jump to the livewire file. Both livewire class and blade template are supported.
    • Livewire directive definition |DEMO
      • [Blade -> PHP or Blade] Jump to the livewire file. Both livewire class and blade template are supported.
  • References
    • laravel.view.findAllReferences command |DEMO
      • [Blade -> PHP] Show references to PHP files that use the current bladefile. Referenced directories areroutes,app/Http/Controllers,app/View/Components,app/Http/Livewire andapp/Livewire.
    • View reference |DEMO
      • [PHP -> Blade] Reference to a PHP file that uses the same template in the view function.
  • Hovers
    • ComponentTag Hover |DEMO
  • Diagnostics
    • Missing component validation |DEMO
    • Method directive parameter validation |DEMO
    • [TODO]
      • Diagnostic features will be added as we come up with useful ones, based on projects already analyzed.
  • CodeActions
    • Create blade component |DEMO
    • Fix method directive parameter |DEMO
    • [TODO]
      • CodeAction features will be added as we come up with useful ones, based on projects already analyzed.
  • Artisan and Sail commands integration
    • laravel.artisan.run command feature.
    • laravel.sailArtisan.run command feature.

[RECOMMENDED] Additional installation of "watchman"

coc-laravel uses theworkspace/didChangeWatchedFiles notification to monitor files in the project.

In coc.nvim, it is recommended to installwatchman in order to utilize this feature.

If you have difficulty installingwatchman, you can usecoc-laravel withoutwatchman, 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

workspaceFolders

Depending on the project like mono repo or how Vim/Neovim is started,workspaceFolders may not be recognized correctly.

To make coc.nvim recognizeworkspaceFolders correctly, you can setb:coc_root_patterns in .vimrc/init.vim

Example:

auFileTypephp,bladeletb:coc_root_patterns= ['.git','.env','composer.json','artisan']

For more information, check this coc.nvim's wiki.

Configuration options

  • 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 thelaravel.stubs.download command. If not set, thestubsVersion defined inpackage.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 inpackage.json
  • laravel.completion.configEnable: Enable config completion, default:true
  • laravel.completion.envEnable: Enable env completion, default: true
  • laravel.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 towire:xxxx, default:["click", "click.prefetch"]
  • laravel.livewire.wireModelAttributes: List of model related action to be added towire:xxxx, default:["model", "model.debounce.100ms", "model.lazy", "model.defer"]
  • laravel.livewire.wireEventAttributes: List of browser events to be added towire:xxxx. No need forwire:model orwire:click. default: Omitted due to the large number of settings, See configuration inpackage.json
  • laravel.definition.enable: Enable definition, defaulttrue
  • laravel.reference.enable: Enable reference, defaulttrue
  • laravel.hover.enable: Enable hover, defaulttrue
  • laravel.diagnostic.enable: Enable diagnostic, default:true
  • laravel.codeAction.enable: Enable code action, default:true
  • laravel.artisan.withoutArgumentsCommandList: List of commands to quickly executelaravel.artisan.run orlaravel.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

Commands

  • laravel.project.restart: Run project restart
  • laravel.project.stats: (Develop) Show project stats
  • laravel.project.finder: (Develop) Run project finder
  • laravel.stubs.download: Download stubs
  • laravel.stubs.version: Show the version of stubs
  • laravel.artisan.run: Run artisan command
  • laravel.sailArtisan.run: Run sail artisan command
  • laravel.view.findAllReferences: Find view file references
  • laravel.showOutput: Show laravel output channel

CodeActions

Example 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

Recommended coc-extensions for php

Inspired Projects

Thanks

License

MIT


This extension is built withcreate-coc-extension


[8]ページ先頭

©2009-2025 Movatter.jp