PhpStorm中用div包裹选中代码的快捷方式是Ctrl+Alt+T(Windows/Linux)或Cmd+Alt+T(macOS),触发Surround With功能后按D键即可;需确保文件类型为HTML/PHP/Blade且光标位于纯HTML区域,否则菜单无div选项。

PhpStorm 里用 div 包裹选中代码的快捷方式是 Ctrl+Alt+T(Windows/Linux)或 Cmd+Alt+T(macOS)
这个快捷键触发的是「Surround With」功能,不是专为 div 设计,但默认选项里就包含 div。选中任意 HTML 或 PHP 混合代码(比如一段 p、几行 echo、甚至 Blade 表达式),按快捷键后弹出菜单,直接按 D 就能套上 。
- 如果没看到
div选项,说明当前文件类型未被识别为 HTML/PHP/Blade —— 检查右下角状态栏的文件类型标识,点击切换成HTML或PHP - 在纯 PHP 文件里(
.php后缀但内容全是 PHP 逻辑),Ctrl+Alt+T默认不显示 HTML 标签选项;此时需先选中要包裹的字符串字面量(比如"),再触发hello
" - 菜单里还有
Tag、PHP: echo、Blade: @section等,不同上下文选项不同
怎么自定义添加常用标签(比如 section、article)到 Surround With 菜单
PhpStorm 不允许直接编辑内置 HTML 标签列表,但可以通过「Live Template」+「Surround With」联动实现:
打开
Settings → Editor → Live Templates点击右上角
+→Template Group,新建组(如叫html-surround)-
在该组内点
+→Live Template,Abbreviation 填sect,Template text 填:<section>$SELECTION$</section>
勾选
Reformat according to style和Shorten FQ names点击
Define,勾选HTML和PHP-
回到代码,选中文本 →
Ctrl+Alt+T→ 选择刚建的sect模板即可 Live Template 的
$SELECTION$是关键占位符,缺了它就无法包裹不要用
div这种已内置的 abbreviation 冲突命名,否则可能覆盖默认行为模板定义后不会自动出现在
Ctrl+Alt+T首屏,首次使用需按方向键或鼠标点一下
在 Blade 文件里用 div 包裹却插入了双大括号怎么办
这是常见误操作:Blade 模板中直接按 Ctrl+Alt+T → D,结果生成了:
@{{ <div>...</div> }}
而不是纯 HTML。根本原因是 PhpStorm 把当前上下文识别成了「Blade 表达式区域」,而非 HTML 区域。
- 光标必须落在纯 HTML 区域(比如已有
标签之间),不能在@if、{{ $var }}或@endphp后紧挨着的位置 - 若已错插成
@{{}},删掉外层@{{}}即可,内容本身是合法 HTML,不会报错 - 更稳妥的做法:先用
Ctrl+Shift+V粘贴纯文本(绕过智能粘贴),再选中 →Ctrl+Alt+T→D
为什么有时 Ctrl+Alt+T 没反应或弹出空菜单
本质是作用域识别失败,和光标位置强相关:
- 光标在注释里(
//或)→ 不触发 - 光标在字符串内部但未选中任何内容 → 弹出 PHP 相关模板(如 try-catch),无 HTML 选项
- 文件编码不是 UTF-8(尤其含中文路径时)→ 功能可能静默失效,检查
File → File Encoding - 使用了第三方插件(如 Laravel Idea)覆盖了快捷键 → 在
Keymap中搜索Surround With确认绑定是否被改写
实际项目里最常被忽略的,是文件类型识别和光标所处的具体语法区域——同一个 .blade.php 文件,@section('content') 下面是 HTML,@endphp 后面紧跟的 PHP 代码块就进不了 HTML 包裹流程。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










