配置详解
所有配置位于 Settings > Tools > SQL Visualizer。设置对话框左上角的搜索框能直接搜到这些条目——插件的每个设置项都登记进了 IDE 设置搜索的索引;插件自己的落地页里另有一个页内搜索,两者索引同一份数据,命中结果一致。

设置顶层「SQL Visualizer」页底部是能力矩阵——四行讲清这个插件做什么:运行期捕获真实参数与耗时、不启库的写前静态还原、MCP 十一工具给 AI agent 用、以及兼容矩阵与文档入口。

设置变更无需重启 IDE:重新触发预览即按新配置生效。
SQL 预览
| 配置项 | 默认值 | 作用 |
|---|---|---|
| 数据库方言 | 智能推断 | 分页 / upsert 子句按方言渲染,默认「智能推断」、可手动固定,项目级留空 = 跟随全局。详见 Wrapper → SQL 预览 · 方言分页 |
| 替换 ? 占位符 | 开 | 关闭后变量也渲染为 ? |
| 格式化输出 | 开 | 多行缩进(关 = 单行) |
| 竖向排列值行列名标注 | 开 | 预览竖排展示时 INSERT 每个值行尾显示 -- 列名 配对注释(竖排按钮 tooltip 同步提示可在此关闭) |
| 零占位符字面量参数恢复 | 开 | 日志 SQL 无 ? 占位符时,把字符串字面量识别为可编辑参数;数值常量仅在比较 / IN / BETWEEN / VALUES 语境识别,LIMIT 与投影列常量不会误认成分页参数 |
| SQL 预览字段较多时自动折叠 | 关 | 开启后预览编辑器把超长字段列表(SELECT / INSERT 列清单、VALUES 组、UPDATE SET)收起为「… N 列」占位符,点折叠标记还原;主预览、单击预览、历史预览、Log → SQL 结果区与原生控制台一并生效 |
| 自动折叠字段数阈值 | 10 | 字段列表元素数达到该值且跨多行才折叠;仅勾选自动折叠后可编辑 |
| 逻辑删除注入 | 开 | @TableLogic 时自动追加 AND deleted = 值 |
| 逻辑删除值 | 0 | 逻辑删除条件的值 |
| 嵌入列命名 | 自动 | @Embeddable 字段展平成列时是否加组件路径前缀(如 qty_base_qty 而非 base_qty);「自动」会识别工程里的 ImplicitNamingStrategy,判不出按无前缀处理 |
| 多租户注入 | 关 | 实体查询 / 更新 / 删除自动追加 AND tenant_id = ?(预览模拟,对齐 MP 多租户拦截器语义) |
| 租户列名 | tenant_id | 注入的租户列列名,可按业务调整(如 org_id / shop_id) |
| 租户列默认值 | 1 | UPDATE SET / INSERT 追加租户列时的字面量默认值 |
| INSERT 时追加租户列 | 开 | 子开关:开启后 INSERT 列清单追加租户列(对齐 MP TenantLineInnerInterceptor INSERT 语义);仅 INSERT 生效,需同时开启多租户注入,UPDATE / DELETE 不受影响 |
| 模拟分页拦截器(COUNT 查询预览) | 开 | mapper 方法 / XML / 注解语句带 Page / IPage 参数时,预览尾追分页子句并并列产出 COUNT 包裹(SELECT COUNT(*) FROM (...) TOTAL),对齐 MyBatis-Plus PaginationInnerInterceptor 运行时行为(searchCount=false 时跳过)。详见 Wrapper → SQL 预览 · 分页模拟 |
| 附分页 COUNT 查询预览 | 开 | 分页模拟的子开关:关闭后只追加 LIMIT、不再生成 COUNT 语句;总开关关闭时本项不生效(父开关优先) |
| 启用 JdbcTemplate SQL 字符串预览 | 开 | 为 queryForList / update 等方法的字符串 SQL 实参显示预览图标并支持 Alt+Shift+Q;命名参数(NamedParameterJdbcTemplate 的 :name 占位符)可回填 |
| 显示 DataPermissionInterceptor 运行时差异提示 | 关 | 开启后 SELECT / UPDATE / DELETE 预览的警告区提示「运行时该拦截器会动态追加条件」 |
| 数据权限模拟条件 | 空 | 手动填写的 WHERE 片段(如 dept_id IN (1,2,3)),追加到 SELECT / UPDATE / DELETE 语句末尾,用于预览数据权限生效后的形态 |
| 预览面板内结构化渲染 EXPLAIN | 关(实验特性) | 默认走原生数据库控制台;开启后 MySQL 家族(表格行)与 PostgreSQL 家族(FORMAT JSON 树)的计划在预览面板内结构化渲染并附索引建议,其余方言与任何失败路径自动回退原生控制台(双通道并存) |
| 跨会话保留原始 EXPLAIN 计划 | 关 | 关闭时计划只在当前会话内可比;开启后按「项目 + 数据源 UUID + 方言 + 格式 + SQL 指纹」保存快照供下次对比,每条最多 5 份、单份上限 256 KiB。默认关闭:原始计划未脱敏,谓词可能含业务值与凭据;清除预览历史会一并删除已保留的计划。详见 Wrapper → SQL 预览 · 跨次对比与计划历史 |
| 执行超时 | 30 秒 | 执行 / EXPLAIN 链的超时护栏(0 = 不限):挂死的查询不再永远停在加载态,超时先请求取消再报错;多语句脚本的预算随语句数放大(封顶 8 倍) |
| 按数据源校正列名 | 开 | 实体字段名与库真实列名不一致时,用数据源真实列集合纠正预览 SQL 的列名;全局与项目级各有开关。详见 Wrapper → SQL 预览 · 参数回填 |
| 空参数填充策略 | 占位符 ? | 带签名信息的参数输入行留空时的填充方式,占位符 ?(默认)/ NULL 字面量 / 空字符串三选一。详见 XML / HQL 动态 SQL 预览 · 参数面板 |
方言智能推断的完整规则(何时看:需要固定方言或排查方言不符时)
推断只认 SQL 数据源——Redis 一类非 SQL 数据源不会被当成候选拉低共识。配置证据按来源模块收窄(多模块各自连不同库时不再互相挤成「无共识」),扫描排除测试资源目录(主库 PostgreSQL + 测试 H2 不再互斥),并优先采用激活 profile(spring.profiles.active / include,${ENV:default} 取默认值);模块内无结论才回落项目级。日志与历史条目双击预览携带本次执行的方言,不再一律按 MySQL 渲染。兜底不再硬编码 MySQL:拿不到 IDE 数据源时按「配置里的 JDBC URL → 驱动坐标 → SQL 方言特征」取唯一共识,再退一级到项目 / 全局设置,状态行显示当前推断结果与来源。方言下拉首项即「智能推断」;升级语义:此前从未改过方言设置的老用户自动进入推断模式(原默认 MySQL),手动值原样保留。各方言的保留字均已按官方文档 / 引擎实测校准,H2 的 upsert 输出为原生 MERGE INTO ... KEY 形态。
填充策略的选择依据(何时看:执行报错或疑似有参数没填时)
默认保留 ? 待填提示,避免 NULL 静默过滤行(如 amount >= NULL 恒不匹配,不易察觉有参数没填);需要可直接执行的 SQL 时切 NULL / 空字符串档。已持久化过 NULL / 空字符串的老用户保持原档。
表名映射
| 配置项 | 默认值 | 作用 |
|---|---|---|
| 表前缀 / 表后缀 | 空 | 推断表名统一加前缀 / 后缀 |
| 移除表名前缀 / 后缀 | 空 | 推断表名去除指定前缀 / 后缀 |
| 忽略字段名 | 空 | 指定字段不进 SELECT 展开与补全 |
| 表名推断策略 | SNAKE | SNAKE 驼峰转下划线 / CAMEL 保留驼峰 |
代码生成(SQL → Java)
| 配置项 | 默认值 | 作用 |
|---|---|---|
| SQL→Java 默认 Wrapper 形态 | 自动 | AUTO / QUERY / LAMBDA / WRAPPERS / MPJ |
| 自动推断失败时允许手动选择实体类 | 开 | 关闭后纯自动推断 |
| 后台扫描依赖库以反查实体 | 开 | 按表名找实体时,依赖 JAR 里的实体若类名与表名约定不符(如 LegacyBooking ↔ t_booking),只能靠 @TableName 认出。开启后该扫描在后台每项目版本只跑一次并缓存;关闭后不投递后台扫描,可在实体选择弹窗用「在依赖库中查找」显式触发一次 |
SQL 日志



| 配置项 | 默认值 | 作用 |
|---|---|---|
| SQL / 参数前缀 | Preparing: / Parameters: | 控制台日志识别前缀 |
| 项目启动时自动开始监听 | 关 | 打开项目、运行项目时自动开始捕捉(等价自动点「捕捉」);开启设置本身不立即开始监听,等运行项目触发。手动停止后本会话不再自动弹回,再次运行项目时恢复自动开始 |
| 发现 SQL 自动打开窗口 | 开 | 捕获到 SQL 时自动展开日志工具窗口(60 秒防抖、不抢焦点);窗口被手动关闭后本会话内不再自动展开,重新开启开关、重启 IDE 或(自动监听开启时)再次运行项目后恢复 |
| 关闭工具窗口时停止监听 | 关 | 日志工具窗口被关闭时自动停止捕捉 |
| 自动注入源码捕获拦截器 | 关 | 触发型开关:勾选时立即在项目中生成一次 SqlSourceInterceptor 与配置类(已存在则跳过),重启应用后实时日志携带源码位置。详见 SQL 日志工具窗口 · 跳转到源码 |
| 增强捕获 | 开 | 字节码增强捕获通道,默认开启、勾选即授权(不再弹注入确认):首轮运行即带 agent 完整采集——无需应用开启 SQL 日志,即得真实参数、毫秒级耗时、影响行数与真实源码位置;已在运行的应用进程由监听启动时的补扫直接接管;关掉开关回落控制台捕获;停止监听时联动停掉应用内采集 |
| 增强捕获脱敏 | 关 | 对疑似敏感形态的参数值打码(默认采集真实参数值) |
| 展示与导出脱敏 | 关 | 展示层的敏感字面量打码:SQL 日志列表摘要、单击预览浮层、历史 / 日志导出(CSV/TSV/TXT/SQL)四处的密码类列名与身份证 / 手机号形态值变为 ***。只动展示文本——条目数据、参数预设与历史文件保留原值,关掉即恢复。详见 SQL 日志工具窗口 · 展示脱敏 |
| 调用栈快照帧数 | 24 | SQL 预览调用栈保留的总帧数(范围 12~64);两端采样——栈顶为 JDBC / 引擎侧帧,栈底固定保留 8 帧业务侧,中间以省略标记连接;改动保存后热下发 agent,无需重启应用。详见 SQL 日志工具窗口 · 从调用栈跳转 |
| 源码捕获帧过滤前缀 | 空 | 增强捕获跳转源码时上溯跳过的框架帧前缀(一行一个),实时列表与历史面板共用同一解析 |
| JAR 业务帧包名前缀 | 空 | 以依赖 JAR 形态运行的公司自研业务工具库包名前缀(一行一个):登记后跳转落进工具类内部的 SQL 行而不是上层调用方那一行,与「源码捕获帧过滤前缀」配套使用 |
| 时间戳显示 | 开 | 条目列表是否显示时间列 |
| 时间来源 | 日志时间 | 「日志时间」显示日志行中解析出的原始时间(自动识别常见日志格式,未解析到时回退捕获时间),「捕获时间」显示插件捕获到日志的时刻;时间戳格式设置对两种来源同样生效 |
| 去重窗口 | 60000 ms | 相同 SQL(忽略空白差异)在窗口内重复不显示;勾选「移除重复的sql」后已有重复条目立即裁剪 |
| 耗时前缀 | Time: | 从日志解析执行耗时的自定义前缀(兼容 p6spy / MyBatis-Plus 耗时输出) |
| 慢查询阈值 | 1000 ms | 耗时达到该值判为慢查询,列表红色标示 |
| 自动保存历史 SQL | 关 | 捕获到的条目全量落盘到保存文件(不受列表最大条数限制),供「历史」tab 回看 |
| 自动保存目录 / 文件名 | 空(默认路径)/ sql-history-$yyyy-MM-dd$.sql | 历史文件保存位置与命名模板,支持日期占位符 |
| 历史文件保留上限 | 30 | 保存目录内历史文件超过该数量自动清理最旧,防止磁盘无限增长;0 = 全量保留 |
| 移除包含关键字 | 空 | 过滤包含指定关键字的日志行 |
| 数据源角标显示完整上下文 | 关 | 关(默认)时目标库角标只显示数据库类型(如 [MySQL]);开启后显示完整连接事实([MySQL · 库名@主机:端口])。对日志与历史条目即时生效,落盘与检索不受影响;无连接事实的条目原样显示 |
| CRUD 颜色标记 | 左侧色条 | 日志 / 历史列表按语句类型着色(默认蓝 / 绿 / 橙 / 红);形态三选一(左侧色条 / 整行淡背景 / 关闭),四色可自定义并可一键恢复默认;「类型过滤」弹窗复选框带色块图例。DDL 两档(CREATE/ALTER/RENAME 与 DROP/TRUNCATE)复用增 / 删色并画虚线色条区分,可分别勾选筛选 |
源码拦截器注入的范围与项目类型边界(何时看:多模块项目注入或弹出「无法识别项目类型」时)
「自动注入源码捕获拦截器」:多模块项目先弹窗勾选注入范围(默认全选);遇到无法识别的项目类型(非 Spring Boot + MyBatis-Plus 工程)时改为引导一键开启增强捕获(增强通道不依赖项目类型)。
前缀双栏登记的格式校验与生效方式(何时看:登记后提示格式错误或想确认是否生效)
「源码捕获帧过滤前缀」与「JAR 业务帧包名前缀」两栏随输入即时校验(只允许字母、数字、下划线、$ 与点,建议以「.」结尾),出现非法格式、同栏重复或同前缀跨栏冲突时输入框下方提示并可一键修复(跨栏冲突按跳过栏优先保留);保存后热下发生效(无需重启应用)。
数据目录
历史 SQL 与执行临时文件保存在项目 .idea/sql-visualizer/ 目录下(历史文件在其 sql-history/ 子目录)。v2026.9.2 起该目录由旧名 mybatis-plus-sql-visualizer 更名而来,旧目录数据不再读取——升级后历史 SQL 从新目录起算。
「自动保存」组下方另有三个清理入口,边界各自独立:
| 入口 | 作用范围 |
|---|---|
| 打开捕获历史目录 | 只在文件管理器中打开捕获历史目录,不删除任何文件 |
| 清除预览 SQL 历史… | 清除预览历史(含收藏、标签与条目内参数快照),不动参数历史与命名方案 |
| 清除参数历史 / 预设… | 清除参数历史与命名方案;已打开面板的旧缓存与迟到写回一并失效 |
三者互不连带:清预览历史不会删参数快照,清参数历史也不碰历史文件。
界面与操作
| 配置项 | 默认值 | 作用 |
|---|---|---|
| 代码左侧显示预览 SQL 图标 | 开 | Wrapper 锚点行 gutter 图标入口 |
| 识别通用 XML 内嵌 SQL(叶子标签文本/CDATA) | 开 | 自研框架 XML(根元素名不固定、SQL 写在自定义标签的 CDATA/文本里)也显示预览图标:叶子标签文本以 SELECT / INSERT / UPDATE / DELETE 等开头即认领,不依赖根元素名 |
| 在插件自建编辑器中显示空白符 | 关 | 插件自建的编辑器(SQL 预览、日志转 SQL、点击预览、回滚 SQL、SQL 输入、参数导入、SQL→Java 等)中显示空格、Tab 与行尾标记,便于排查动态拼接 SQL 的多余空白;纯显示层不改 SQL 文本,默认关闭时沿用 IDE 全局「显示空白符」偏好 |
| 使用 IDE 原生图框架渲染 JOIN 图 | 开 | JOIN 图走 IDEA 原生 Diagrams 引擎(缩放 / 自动布局 / 折叠 / 导出),Diagrams 插件缺席或渲染异常自动回退自绘渲染 |
| 界面语言 | 简体中文 | 插件 UI 语言(English / 跟随系统可选) |
| 快捷键 | Alt+Shift+Q / Alt+Shift+J | 分别对应 SQL 预览与 SQL→Java |
gutter 图标按来源分组显隐:上表之外,左侧 gutter 的预览图标按语句来源分成六组独立开关(mapper XML 语句 / 注解 SQL(@Select 族)/ JPA·HQL 族 / JdbcTemplate 字符串 SQL / 通用 XML 内嵌兜底 / Wrapper 链与方法名字符串 SQL)——关掉哪组,哪类代码左侧就不再出图标,适合只想看某一类 SQL 的工程。

mapper XML 语法高亮注入:插件给 mapper XML 注入一套语法着色——语句关键字、#{} / ${} 参数占位、内联 SQL 文本分别着色(上图中那条「mapper XML 语法高亮(关键字 + 参数占位着色)」就是它的总开关)。关闭后 mapper XML 回落 IDE 原生 XML 着色。

Mapper 双向跳转图标与共存让位:mapper XML 语句行与 Mapper 接口方法行之间互跳的 gutter 图标(见 XML 预览 · Mapper 双向跳转)受上面的总开关与「mapper XML 语句」组开关控制。另有设置项「与同类 MyBatis 导航插件共存时让出 Mapper 跳转图标」(默认开,与 gutter 分组开关同区块):检测到同类 MyBatis 导航插件(当前登记 MyBatisCodeHelperPro)启用时隐藏这两个跳转图标,避免与对方自带的箭头叠在一行;关闭则即使对方在位也保留本插件图标。
MCP 工具

插件在平台 MCP Server 上向 AI agent(Claude Code / Cursor / AI Assistant 等)暴露 11 个只读工具,设置页「MCP 工具」子页提供门控:
工具能力面与版本要求详见 MCP Server 工具。
- 总开关:整体启停插件的 MCP 功能
- 十一个工具逐项启用 / 禁用,另有「全部启用 / 全部禁用」快捷按钮
- 切换即时生效,无需重启 IDE;禁用的工具不只从清单摘除——执行入口在每次调用前重新核对开关,外部会话记住工具名直接调用也会拿到
TOOL_DISABLED错误 - 这里的开关只管插件自有工具是否暴露;IDE「工具 → MCP 服务器」页的「启用 MCP 服务器」是平台总开关(其他插件与平台自带的工具同挂一个服务),两者相互独立——关掉插件开关平台服务照常,插件经平台工具过滤扩展把
sqlv_*从 agent 工具清单动态摘除,无需重启
禁用 API
「禁用 API」子页把团队那条「这几行代码不许写」的硬规则从评审时的 grep 搬进编辑器。规则跨项目共享(存 mp-sql-visualizer-banned-api.xml),改动即时生效,没有 OK / 应用按钮。
| 配置项 | 说明 |
|---|---|
| 类 | 精确模式填全限定名(com.acme.LegacyDao);正则模式按整串匹配(com\.acme\..*) |
| 匹配模式 | 精确 / 正则,决定「类」这一栏怎么读 |
| 方法名正则(可空) | 整串匹配;留空表示该类任意方法都算命中 |
| 级别 | 错误(标红)/ 警告(标黄) |
| 说明(必填) | 为什么禁用、应该改用什么——编辑器里的提示与扫描报告都直接引用这段文字 |
- 命中的方法调用在编辑器里标红或标黄,悬停显示你写的说明;单点认为没问题时用
@SuppressWarnings("BannedApi")抑制 - 规则列表为空时零行为:检查器不参与 daemon,不会因为装了插件就多出一堆提示
- 匹配按方法的声明类判定:覆写场景下规则要写子类;目前只覆盖 Java 调用点
- Tools 菜单「统计禁用 API 存量」对全项目 Java 文件做一次只读扫描,按规则汇总命中数并列出明细(上限 500 条),报告在编辑器打开;索引构建期间会提示稍后再试
外部 SQL 模板
给「SQL 不在 MyBatis 里」的项目用的兜底通道:像根节点 <sqls>、语句 <sql id="…">、:命名参数 这类自研模板,插件不认它的语法——你不必教插件,只要配一条自己的渲染命令,把它当函数用。默认关闭,关闭时 sqlv_render_sql 行为完全不变、不会启动任何进程。
| 配置项 | 默认值 | 说明 |
|---|---|---|
| 用外部命令渲染自研模板语句 | 关 | 总开关;关着时这条链一次都不走 |
| 语句标签名 | sql | 逗号分隔的 XML 标签名(如 sql,query),匹配不区分大小写;光标落在这些标签上时改走外部渲染 |
| 渲染命令 | 空 | 按参数列表启动(不经 shell),每个参数一个 token;含引号的参数用 "…" / '…' 括起来 |
| 超时(秒) | 10 | 限定 1 ~ 120,超时即强杀进程 |
| 工作目录 | 空 | 留空用项目根;填了不存在的目录也回落项目根 |
命令里可用的占位符:{template} 模板文件路径、{sqlId} 语句 id、{paramsJson} sqlv_render_sql 传入的参数 JSON(未传时为空串)。例如 node scripts/render.js {template} {sqlId} {paramsJson}。
几条边界要说清:命令在你自己的机器上、以你的身份执行,插件不校验内容、不做沙箱,等价于你手敲一条命令;只替换上面三个占位符,其余字符不经 shell 解释(所以通配符、管道、变量展开都不会生效)。命令失败、超时或输出为空时返回 EXTERNAL_RENDER_FAILED,不会静默回落到 mapper 逻辑给出一个看似正常的错答案。参数 JSON 原样交给命令,不写进任何日志或错误文本。
目前这条通道只作用于 MCP 的 sqlv_render_sql;编辑器里的 gutter 预览与面板预览仍按插件原生识别规则工作,不认自研模板。
项目级设置
Settings > Tools > SQL Visualizer(当前项目)在总开关之下提供 10 项覆盖:数据库方言、参数替换、SQL 格式化、逻辑删除注入、逻辑删除值、表前缀 / 表后缀、表名推断策略、忽略字段、按数据源校正列名(其中 4 项是勾选)。增强捕获属于全局设置,不在项目级覆盖范围内。

- 总开关「使用项目设置」关闭时,10 项覆盖全部置灰并显示全局生效值——页面所见即运行时所用;「重置为跟随全局」一键清空本项目覆盖
- 方言选「智能推断」时项目级优先于全局判定
- 页内搜索与 IDE 自带设置搜索同源:改一处设置项,两处都能搜到;全局页与项目页的条目都覆盖
- 导入 / 导出只覆盖全局设置,项目级配置不在其中
更新与诊断
| 配置项 | 默认值 | 作用 |
|---|---|---|
| 启动时自动检查更新 | 关 | 开启后 IDE 启动静默检查 Gitee 抢先体验通道,发现新版弹通知;关闭则稳定版更新由 JetBrains Marketplace 推送 |
| 忽略此版本 | - | 通知弹窗操作,跳过当前版本的启动提醒(跨重启持久化);设置页手动检查更新不受影响 |
| 检查更新 / 下载并安装 | - | 手动检查更新、一键下载安装;新版在运行中的 IDE 内热替换即时生效(免重启),不支持动态安装的环境或任一环节失败自动回退重启脚本,不会出现中间态;检查更新失败时区分「网络不通 / 更新通道 404 / 已是最新」三态提示,404 态附 Marketplace 与 Gitee Releases 兜底链接 |
| 插件缓存 | - | 显示缓存占用与条目数(实体反查 / 解析 / Wrapper 预览全口径),可一键清除 |
| 报告问题 / 需求池 | - | 手动反馈入口,弹出报告对话框直达官网需求池,类型 / 分类 / 描述必填,IDE 与插件版本自动携带 |
| 内部构建号 | - | 每次构建唯一,反馈问题时一键复制 |
| 设置导入导出 | - | 导入 / 导出 JSON 设置文件,只覆盖全局设置(项目级配置不在其中),结果在按钮旁行内提示 |
设置页的「更新与诊断」区(设置 > Tools > SQL Visualizer > 关于)把这些入口聚在一处,「报告问题…」弹出的是下面这个对话框:

反馈对话框的隐私与去重规则(何时看:关心上传内容范围或重复上报时)
「报告问题 / 需求池」:默认仅预填异常类名与栈帧摘要;异常消息全文与完整堆栈、以及堆栈附件均为可勾选项,勾选后才上传,可能含本地路径与类名。同一异常 24 小时内去重;帮助菜单「SQL Visualizer 反馈 / 需求池」与 IDE 内部错误对话框亦可一键上报;从 IDE 错误列表勾选多条报告时合并为一条提交(超出限流阈值的条目自动错峰补发);提交被拒时对话框不关闭,状态行给出服务端返回的具体原因,改完可直接重试。
免重启更新后若平台弹出「插件未完全卸载」信息级提示:这是 IDE 对旧类加载器的 GC 观察窗口期一次性提示,新版插件已完整接管(扩展点 / 服务全部重建),旧实例仅一过性内存驻留,重启 IDE 即清,无功能影响。