括号自动补全失效的主因是省电模式启用、Insert pair bracket未勾选或语言模式不匹配;HTML标签补全需单独开启Insert pair tag且语言标识为HTML;Emmet缩写与括号补全无关,Tab失效需排查IdeaVim、文件类型和Emmet设置;补全延迟过高也会导致“无反应”错觉。

Insert pair bracket 默认开启,但实际失效时大概率是被省电模式压制或配置项被关掉了。
括号自动补全不生效的三个硬性条件
它不是“坏了”,而是被以下任一条件拦住:
- 右下角显示
Power Save Mode已启用(图标带电池)——所有智能补全静默停摆 -
Insert pair bracket选项未勾选(路径:Settings → Editor → General → Smart Keys) - 当前文件语言模式不是你预期的类型(比如 .vue 文件里光标不在
<template>区域,或状态栏显示Plain Text)
HTML 标签尖括号补全靠的是 Insert pair tag,不是括号设置
很多人混淆了两种配对:函数括号和 HTML 标签。输入 <div 后没自动补 > 和 </div>,跟 Insert pair bracket 毫无关系。
必须单独确认:
- 勾选
Insert pair tag(同一设置页Smart Keys下) - 右下角语言标识必须是
HTML(不是Vue HTML或XML) - .vue 文件中,光标得在
<template>内,且建议右键 →Inject language or reference → HTML
Emmet 缩写展开和括号补全是两套机制
输入 div 按 Tab 出 <div></div>,靠的是 Emmet,不是括号配对功能。一旦 Tab 失效,优先排查:
- IdeaVim 插件是否劫持了
Tab(输完div改按Ctrl+J测试能否展开) - 文件后缀是否被识别为非 HTML(比如
.blade.php需手动加进Settings → Editor → File Types → HTML → Registered Patterns) -
Settings → Editor → Emmet → HTML中的Enable Emmet for HTML是否开启
补全弹窗延迟导致“没反应”的错觉
输入函数名后没立刻弹出带括号的补全建议,常被误判为功能失效。其实只是 Autopopup delay 设太高了。
建议设置:
Settings → Editor → General → Code Completion- 把
Autopopup delay (ms)改成0或200 - 确保勾选
Show the code completion popup automatically下全部子项(尤其是Basic completion)
真正容易被忽略的,是语言模式和省电模式这两层开关——它们不报错、不提示,只默默让所有补全失效。


















