2023-03-03 07:09:50 +07:00
# [Laravel Blade Snippets](https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-blade)
Laravel blade snippets and syntax highlight support for Visual Studio Code.
> Suggest Laravel related extension: [Laravel Snippets](https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel5-snippets)
## Screenshot

## User Settings
Open `Preferences` -> `Settings`
```json
"emmet.triggerExpansionOnTab": true, // enable tab to expanse emmet tags
"blade.format.enable": true, // if you would like to enable blade format
```
Specific settings for blade language
```json
"[blade]": {
"editor.autoClosingBrackets": "always"
},
```
## Features
- Blade syntax highlight
- Blade snippets
- Emmet works in blade template
- Blade formatting
## Blade Syntax Hightlight
- Auto detected with `.blade.php` extension
- Manually switch language mode to `Blade` (`Ctrl + K, M` or `⌘ + K, M` )
## Laravel Blade Snippets
| Trigger | Snippet |
| ------------------- | ----------------------------------------- |
| b:extends | @extends |
| b:yield | @yield |
| b:section | @section ...@endsection |
| b:section-show | @section ...@show |
| b:if | @if ...@endif |
| b:if-else | @if ...@else ...@endif |
| b:unless | @unless ...@endunless |
| b:has-section | @hasSection ...@else ...@endif |
| b:for | @for ...@endfor |
| b:foreach | @foreach ...@endforeach |
| b:forelse | @forelse ...@empty ...@endforelse |
| b:while | @while ...@endwhile |
| b:each | @each |
| b:push | @push ...@endpush |
| b:stack | @stack |
| b:inject | @inject |
| b:comment | {{-- comment --}} (`Ctrl + /` or `⌘ + /` ) |
| b:echo | {{ $data }} |
| b:echo-html | {!! $html !!} |
| b:echo-raw | @{{ variable }} |
| b:can | @can ...@endcan (v5.1) |
| b:can-elsecan | @can ...@elsecan ...@endcan (v5.1) |
| b:canany | @canany ...@endcanany (v5.8) |
| b:canany-elsecanany | @canany ...@elsecanany ...@endcanany (v5.8) |
| b:cannot | @cannot ...@endcannot (v5.3) |
| b:cannot-elsecannot | @cannot ...@elsecannot ...@endcannot (v5.3) |
| b:verbatim | @verbatim ...@endverbatim (v5.3) |
| b:php | @php ...@endphp (v5.3) |
| b:includeIf | @includeIf (v5.3) |
| b:includeWhen | @includeWhen (v5.4) |
| b:includeFirst | @includeFirst (v5.5) |
| b:includeUnless | @includeUnless (v6.x) |
| b:component | @component ...@endcomponent (v5.4) |
| b:slot | @slot ...@endslot (v5.4) |
| b:isset | @isset ...@endisset (v5.4) |
| b:empty | @empty ...@endempty (v5.4) |
| b:auth | @auth ...@endauth (v5.5) |
| b:guest | @guest ...@endguest (v5.5) |
| b:switch | @switch ...@case ...@endswitch (v5.5) |
| b:lang | @lang |
| b:csrf | @csrf (v5.6) |
| b:method | @method (...) (v5.6) |
| b:dump | @dump (...) (v5.6) |
| b:error | @error ...@enderror (v5.8) |
| b:props | @props (v7.4) |
| b:production | @production ...@endproduction |
| b:env | @env ...@endenv |
| b:once | @once ...@endonce |
| b:class | @class (v8.51) |
| b:aware | @aware (v8.64) |
| b:js | @js (v8.71) |
| b:checked | @checked (v9.x) |
| b:selected | @selected (v9.x) |
| b:disabled | @disabled (v9.x) |
### $loop variable (Laravel v5.3+)
| Trigger | Snippet |
| ------------ | ------------------------------------------------------ |
| b:loop | $loop->(index,remaining,count,first,last,depth,parent) |
| b:loop-first | @if ($loop->first)...@endif |
| b:loop-last | @if ($loop->last)...@endif |
## Laravel Helper Snippets for Blade
| Trigger | Laravel Helper |
| ------------------- | --------------------- |
| lv:elixir | elixir() - deprecated |
| lv:mix | mix() (v5.4) |
| lv:trans | trans() |
| lv:action | action() |
| lv:secure-asset | secure_asset() |
| lv:url | url() |
| lv:asset | asset() |
| lv:route | route() |
| lv:csrf-field | csrf_field() |
| lv:csrf-token | csrf_token() |
| lv:pagination-links | $collection->links() |
## Blade extensions
Register in the `boot` method of `ServiceProvider`
- `Blade::component`
- `Blade::include`
- `Blade::if`
- `Blade::directive`
- `Blade::stringable`
Rendering inline blade templates
- `Blade::render`
- `Blade::renderComponent`
## Contact
Please file any [issues ](https://github.com/onecentlin/laravel-blade-snippets-vscode/issues ) or have a suggestion please tweet me [@onecentlin ](https://twitter.com/onecentlin ).
## Credits
- Blade language grammar is based on [Medalink syntax definition ](https://github.com/Medalink/laravel-blade ) for Sublime Text; Converted from [Blade templating support in Atom ](https://github.com/jawee/language-blade )
- Textmate language format file is based on [Textmate bundle for Laravel 5 ](https://github.com/loranger/Laravel.tmbundle ).
## License
Please read [License ](https://github.com/onecentlin/laravel-blade-snippets-vscode/blob/master/LICENSE.md ) for more information