删lsp.sublime-settings可重置lsp插件默认配置,因其独立于preferences.sublime-settings;需关闭sublime并退出后台进程后删除该文件,重启即加载内置默认client配置,切勿覆盖default目录下只读模板。

删掉 LSP.sublime-settings 文件,不是 Preferences.sublime-settings
LSP 插件的配置完全独立于 Sublime 自身设置,它只读取 LSP.sublime-settings(位于 Packages/User/ 下),而不是 Preferences.sublime-settings。删错文件,LSP 行为不会变——比如你改了 Python 的 command 路径但没生效,大概率是因为你动的是全局设置文件。
实操建议:
- 关闭 Sublime Text(确保后台进程已退出,否则文件可能被占用)
- 打开
Packages/User/目录(菜单 Preferences → Browse Packages… → 进入 User 文件夹) - 找到并删除
LSP.sublime-settings(注意不是LSP-<em>xxx</em>.sublime-settings或其他变体) - 重启 Sublime,LSP 会自动加载内置默认配置,包括空的
clients字段和基础超时值
重置某个语言服务器(如 pylsp)的 client 配置
你可能只想恢复 Python 的 LSP 配置,而保留 TypeScript 或 Go 的自定义项。这时不能删整个 LSP.sublime-settings,而是精准清理对应语言的 client 块。
常见错误现象:
- Python 文件不触发补全 →
pylsp的command路径写错或指向不存在的可执行文件 - 状态栏显示 “LSP: pylsp (starting)” 卡住 →
init_options里写了非法 JSON 或不兼容字段 - 悬停提示空白 →
settings下误加了"pylsp.plugins.autoimport.enabled": false这类插件级开关,但 pylsp 实际不支持
正确做法是:打开 LSP.sublime-settings,定位到 "pylsp" 对象,整块删掉(包括花括号及逗号),保存后重启。LSP 插件会在下次启动时用默认 client 模板重建该语言配置。
确认 LSP 是否真正从默认逻辑加载
删完配置重启后,仍可能沿用旧行为——不是配置没清,而是 LSP 缓存或服务进程没重启干净。
验证步骤:
- 执行
subl --safe-mode启动,再打开 .py 文件:如果此时能正常启动 pylsp,说明原问题出在用户配置或冲突插件;如果仍失败,则是系统级路径或服务器安装问题 - 打开命令面板(
Ctrl+Shift+P),运行LSP: Toggle Log Panel,查看日志里是否出现Using default configuration for pylsp - 检查
command字段是否为空或未定义:默认值是["pylsp"],如果你之前改成["python", "-m", "pylsp"]并删了,重启后不会自动还原成后者——默认就是前者
别碰 LSP 插件自身的 Default 配置目录
有人想“彻底还原”,就去 Packages/LSP/ 下复制 Default.sublime-settings 覆盖 User/LSP.sublime-settings。这是错的:Default.sublime-settings 是插件作者写的只读模板,Sublime 启动时根本不读它;而且这个文件里没有 clients 字段,直接覆盖会导致 LSP 完全无法识别任何语言。
真正起效的只有 Packages/User/LSP.sublime-settings。它为空时,LSP 插件内部逻辑会 fallback 到硬编码的默认值(例如 log_debug 关闭、auto_complete 开启、show_diagnostics_panel_on_save 关闭)。这些值不会写进文件,也不该手动抄写。
复杂点在于:LSP 的“默认”不是静态文件,而是运行时生成的逻辑组合。最容易被忽略的是——删完配置后没关干净 pylsp 进程(尤其 Linux/macOS 下后台残留),导致新配置加载失败,你以为重置无效,其实是旧进程还在占着端口。











