codecamp

IntelliJ IDEA: Laravel Blade模板支持

Blade概述

此功能仅在Ultimate版本中受支持。
以下内容仅在安装并启用PHP插件时有效!

IntelliJ IDEA完全支持Laravel Blade模板引擎,最高版本为5.1。这种支持包括:

  • 突出显示模板文件中的Blade语法。
  • 所有Blade指令的代码完成,包括预定义和自定义,以及大括号。
  • 在@for和@foreach指令中,变量引入在代码构造中提供自动完成。
  • 通过@section指令定义的展开和折叠部分。可以扩展或折叠@section指令和结束指令(例如@stop)之间的代码块。
  • 专用的Blade特定代码检查,例如,检查使用@section指令打开的部分是否使用相应的指令之一进行检查。
  • Blade -aware导航,使用Ctrl+B,包括指向@extends和@include指令中的模板的链接。
  • 可以在代码中的文件名或符号上调用usages(Alt+F7),以显示代码库中模板的所有用法。目前,此功能仅在其他模板中可用,但不在视图中可用。
  • 自定义预定义的Blade指令并为Blade模板定义自定义指令 。

准备使用Blade模板

在开始之前,请确保已安装并启用了PHP和Blade插件。插件未与IntelliJ IDEA捆绑在一起,但可以从JetBrains插件存储库中安装它们。启用后,插件可在IDE级别使用,也就是说,您可以在所有IntelliJ IDEA项目中使用它们。

添加,编辑和删除Blade指令

在IntelliJ IDEA中,Blade指令在Blade页面的Directives选项卡中进行管理。该选项卡列出了所有当前可用的Blade指令,对于那些具有参数的指令,还显示了前缀和后缀。启动时,列表仅包含预定义的指令。您可以编辑这些指令以及创建自定义指令。

  1. 按下Ctrl+Alt+S或选择:文件|设置(对于Windows和Linux),或:IntelliJ IDEA| 首选项(对于macOS)来打开“设置/首选项”对话框。展开“语言和框架”节点,然后单击“PHP”下的“Blade” 。在打开的Blade页面上,切换到Directives选项卡。该选项卡显示所有当前可用指令的列表。 
  2. 执行以下操作之一:要定义新指令,请单击“添加指令”按钮图标一般添加svg ,然后在“名称”文本框中指定指令的名称。如果新指令需要前缀和后缀,请选中Has参数复选框,并分别在前缀和后缀字段中键入要使用的前缀和后缀。IntelliJ IDEA将自动将前缀和后缀括在开括号和右括号和引号中,并添加冒号分隔符“:”以使参数如下所示:("<prefix>:<suffix>")。要编辑现有指令,请在列表中选择它并更改下面文本框中的值。要恢复原始定义,请单击重置为默认值按钮。要从列表中删除指令,请选择它并单击“删除指令”按钮图标一般删除svg

配置Blade分隔符

IntelliJ IDEA可识别Blade模板,并根据您指定的分隔符为它们提供错误突出显示和代码完成。这些分隔符在Blade页面的“文本标记”选项卡中进行管理 。

选项卡中的字段显示原始标记,内容标记和转义标记的开始和结束字符 。

这些字段使用默认值填写,符合Blade Templates 5.8。如果您使用的是早期版本,则可以指定相关的自定义分隔符,IntelliJ IDEA将根据新规则提供编码帮助。


IntelliJ IDEA:使用PHP异常断点进行调试
IntelliJ IDEA:PHP命令行工具
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }