package control: remove package 删不干净缓存是因为它仅删除插件本体(installed packages/ 下的 .sublime-package 文件及 packages/ 对应目录),却遗漏 packages/user/ 配置、cache/ 多路径语言服务器索引及 saved application state 三处关键残留,导致命令残留、执行报错、cpu 占用飙升。

为什么 Package Control: Remove Package 删不干净缓存
因为 Package Control: Remove Package 只删插件本体(Installed Packages/ 下的 .sublime-package 文件)和 Packages/ 里对应插件目录,完全不管三处关键残留:Packages/User/ 下的配置、Cache/ 下的语言服务器索引、以及系统级 Saved Application State。结果就是命令面板还能搜到 lsp_symbol_rename,右键菜单还在,一执行却报 command not found,甚至 CPU 持续 100%。
必须清空的 Cache 路径(按系统列)
只删 %APPDATA%\Sublime Text\Cache 或只删 ~/.cache/sublime-text 是不够的——LSP 插件(如 pyright、texlab)的 socket 连接、类型缓存、符号数据库会分散在多个路径,缺一不可:
- Windows:
%APPDATA%\Sublime Text\Cache+%LOCALAPPDATA%\Sublime Text\Cache+%LOCALAPPDATA%\Sublime Text\Local\Index - macOS:
~/Library/Application Support/Sublime Text/Cache+~/Library/Caches/com.sublimetext.4+~/Library/Saved Application State/com.sublimetext.4 - Linux:
~/.config/sublime-text/Cache+~/.cache/sublime-text+~/.config/sublime-text/Local/Index
删之前务必确认进程已退出:Windows 任务管理器搜 sublime_text.exe 和 subl.exe,macOS 活动监视器查 Sublime Text 和 plugin_host,Linux 执行 pkill -f "sublime_text" 后再 ps aux | grep sublime 确认无残留。
怎么精准定位并干掉插件专属缓存
别全盘清空整个 Cache 目录——那样会连带删掉你保留的插件状态。更稳妥的做法是按插件名搜索并整文件夹删除:
- 进对应系统的
Cache路径,用文件管理器或终端搜索关键词,例如pyright、gitgutter、sidebar_enhancements - 找到匹配的文件夹(如
pyright/、GitGutter/),直接删整个文件夹,不要只删子文件 - 顺手检查
Local/下是否有同名子目录(如Local/pyright/),也一并删除 - macOS 用户特别注意:
~/Library/Saved Application State/com.sublimetext.4必须删,它会偷偷恢复插件 UI 状态和启用逻辑
Packages/User/ 里的配置不清理,插件就“半活着”
Packages/User/ 是重灾区:插件卸载后,LSP-pyright.sublime-settings、GitGutter.sublime-settings 这类文件还在,Sublime 启动时仍会加载其中的 key bindings 和 command 注册逻辑,导致命令面板显示但执行失败。
- 用
Preferences → Browse Packages…进入真实Packages/目录(注意不是 Sublime Text 3,Text 4 默认路径是Sublime Text) - 进
Packages/User/,搜索插件关键词,删掉所有*.sublime-settings和*.sublime-commands - 打开
Default (Windows).sublime-keymap(或对应系统文件),全局搜索"command": "git_stage_hunk"这类字段,整块 JSON 删除 - 若插件曾写入本地状态(如 SideBarEnhancements 的折叠记录),可临时重命名
Local/文件夹来强制重置
真正麻烦的从来不是“删哪个文件”,而是删完发现命令还在、CPU 还在飙、重启后又“复活”——那基本可以确定:进程没杀净、Saved Application State 漏了、或者 Local/ 下的隐藏状态没动。











