Sublime Text需通过LSP插件配合语言服务器(如pyright、tsserver)实现函数参数提示;光标置于括号内或按Ctrl+Shift+Space触发,依赖正确安装、配置及文件语法识别。

Sublime Text 本身不支持自动弹出函数参数提示,必须通过 LSP 插件 + 对应语言服务器(如 pyright、tsserver)才能实现类似 VS Code 的实时签名帮助。光靠默认补全或旧插件(如 SublimeCodeIntel)已无法满足现代 Python/TS/JS 的类型感知需求。
安装 LSP 插件并启用对应语言服务器
LSP 是当前 Sublime 上唯一稳定支持参数提示的协议客户端。它不提供功能,只负责和后端语言服务器通信:
- 用
Ctrl+Shift+P打开命令面板,输入Package Control: Install Package,搜索并安装LSP - Python 推荐装
pyright:pip install pyright,然后在 Sublime 中执行LSP: Enable Language Server Globally→ 选pyright - TypeScript/JS 需先装 Node.js,再运行:
npm install -g typescript typescript-language-server,启用typescript-language-server - C/C++ 要手动下载
clangd二进制,配置command路径到LSP.sublime-settings中
参数提示不会自动弹出?检查触发条件
即使装好 server,Ctrl+Shift+Space 也未必立刻生效——签名帮助(Signature Help)有明确触发边界:
- 光标必须落在函数名后的左括号
(内部,例如requests.get(|)或func(a, |),而不是func|() - 文件必须已保存且后缀正确(如
.py),否则 LSP 不会启动对应 server - 确保右下角状态栏显示的是正确语言模式(如
Python),不是Plain Text;点它可手动切换 - 部分 server(如
pyright)需开启类型检查:在LSP-pyright.sublime-settings中设"typeCheckingMode": "basic"或更高
为什么补全菜单里看不到参数?这不是同一个机制
很多人混淆了两个功能:Ctrl+Space 触发的是基础文本补全,而参数详情只在签名帮助中显示。LSP 补全菜单默认也不带参数,除非你显式启用:
- 在用户设置中添加:
"show_symbol_descriptions": true和"show_documentation": true - 但注意:这仅让补全项附带简短描述,完整参数列表仍要靠
Ctrl+Shift+Space或括号内悬停 - 第三方库缺类型存根(如没装
types-pandas)会导致参数提示为空,用pip install types-pandas补上 - 函数没写类型注解或 docstring,
pyright只能推断出x: Any,提示信息自然单薄
真正卡住人的地方,往往不是插件没装,而是 server 没跑起来、文件没识别对、或者光标位置差了半个字符。别调设置,先确认 Ctrl+Shift+Space 在 print(|) 里能不能弹出东西——这是最直接的验证点。











