SideBarEnhancements 安装后侧边栏频繁刷新/闪烁并非插件缺陷,而是因New File等操作触发文件系统变更,叠加auto_expand_folders设置、GitGutter/SublimeLinter高频监听或on_post_save重复调用refresh_folder_list所致;禁用相关设置或插件即可缓解。

SideBarEnhancements 安装后侧边栏频繁刷新/闪烁
这不是插件 bug,而是 Sublime Text 在检测到文件系统变化时,自动触发了侧边栏重绘——而 SideBarEnhancements 的某些操作(如 New File、Move)会同步写入磁盘,触发 ST 内置的文件监听器,再叠加用户设置中 auto_expand_folders 或第三方插件(如 GitGutter、SublimeLinter)的实时扫描,就容易形成“操作 → 文件变更 → 刷新 → 再次触发监听 → 再刷新”的循环。
- 检查是否启用了
auto_expand_folders:该设置会让 Sublime 每次焦点切换或文件打开时,强制展开当前文件所在路径。若项目层级深、文件多,展开动画未完成就又来一次,视觉上就是“抖动”或“闪烁”。在用户设置中删掉或设为false可立即缓解 - 禁用非必要文件监听插件:GitGutter 默认每 1.5 秒轮询 git status;SublimeLinter 的
lint_mode设为background也会高频读取文件。临时在用户设置中加"git_gutter": false或改"lint_mode": "on_save"观察是否改善 - 确认没有重复绑定
on_post_save事件:某些自定义插件或 snippet 管理器会在保存后调用view.window().run_command("refresh_folder_list"),这会强制重载整个侧边栏。搜索Packages/User/下所有.py文件, greprefresh_folder_list
侧边栏图标随文件操作跳动或错位
图标闪烁常和 A File Icon 插件的 class 注入时机有关:SideBarEnhancements 创建新文件后,ST 先渲染空白节点,A File Icon 再异步补 class,导致 DOM 元素重排。这不是样式问题,是渲染流水线不同步。
- 确保使用
AFileIcon Dark.sublime-theme或AFileIcon Light.sublime-theme:其他主题(包括 ayu、Material)对icon-file-js等 class 的 CSS 选择器支持不完整,class 加上了但没对应样式规则,浏览器反复尝试回退 fallback 导致跳帧 - 不要手动运行
A File Icon: Rebuild Icons后立刻操作文件:重建过程会清空缓存并重载 SVG,期间若新建文件,插件可能来不及注入 class。等控制台显示Finished injecting icons再操作 - 关闭
preview_on_click:它本身不导致闪烁,但预览标签页被快速创建又销毁时,会干扰侧边栏节点的 active 状态计算,放大图标重绘延迟感。设为false后可稳定节点生命周期
拖拽文件夹后侧边栏瞬间收缩再弹开
这是 Sublime Text 4 build ≥ 4192 引入的“拖拽感知逻辑”与 SideBarEnhancements 的 move 命令冲突所致:原生 ST 在检测到鼠标拖入侧边栏区域时,会提前折叠未展开父节点以腾出空间;而 SideBarEnhancements 的 move 是原子操作,完成后才通知 UI 更新,中间出现状态撕裂。
- 避免直接拖拽到折叠节点上:先点击箭头展开目标父目录,再拖入子项。哪怕只展开一级,也能绕过 ST 的“预测性折叠”
- 在 SideBarEnhancements 设置中禁用
enable_drag_and_drop:该选项默认为true,但它接管了原生拖拽事件,反而增加协调成本。设为false后,拖拽交由 ST 原生处理,move 操作改用右键菜单更稳 - 检查
folder_exclude_patterns是否含动态匹配项:比如"*.log"或"temp_*"。ST 每次刷新都会重新匹配全部目录名,若匹配规则复杂,会导致节点树重建延迟,视觉上就是“闪一下再出来”
为什么关掉插件后还偶尔闪烁?
因为 Sublime Text 自身的文件系统监听器(基于 inotify / ReadDirectoryChangesW)不会因插件卸载而关闭。残留行为往往来自两个地方:一是项目设置里残留了 "auto_expand_folders": true,二是 Packages/User/Preferences.sublime-settings 中存在未注释的 "always_show_minimap_viewport" 类干扰项——它虽不直接管侧边栏,但会强制重绘整个 UI 区域,连带触发 sidebar 重绘。
最易被忽略的是:便携版用户若曾用 subl --project 启动过带自定义设置的项目,那些设置会写入 .sublime-project 文件并持续生效,比用户设置优先级更高。直接打开该文件,删掉所有含 auto_expand、refresh、watch 的字段,比反复开关插件更治本。


















