Sublime Text 的函数参数提示需满足语言服务器已连接且光标位于括号内,触发方式为自动延时显示(如print(|))或手动按Ctrl+Shift+Space(Windows/Linux)/Cmd+Shift+Space(macOS)。

Sublime Text 的 LSP 功能本身不绑定固定快捷键,所有操作都依赖你手动配置或调用命令面板;没配就等于没功能,不会自动响应 Ctrl+Click 或 . 键。
怎么触发签名帮助(函数参数提示)
签名帮助不是靠 . 自动弹出的,必须满足两个前提:语言服务器已连上(右下角显示 LSP: pyright)、光标在括号内。触发方式只有两种:
- 把光标放在函数名后、左括号内或逗号后,比如
print(|)或func(a, |),稍等 300–500ms(默认延迟),提示框会自动出现 - 手动调用:
Ctrl+Shift+Space(Windows/Linux)或Cmd+Shift+Space(macOS)——这是唯一可靠、可预测的触发方式 - 如果按了没反应,先打开
Preferences → Package Settings → LSP → Toggle Log Panel,看日志里有没有signatureHelp相关错误或空响应
跳转定义和悬停查看怎么设快捷键
Sublime 默认不给 LSP 命令预设快捷键,goto_definition 和 hover 都得你自己绑。步骤很简单,但容易漏掉关键字段:
- 打开
Preferences → Key Bindings,右侧用户文件中添加类似条目: {"keys": ["f12"], "command": "lsp_symbol_definition", "context": [{"key": "lsp.session_with_capability", "operator": "equal", "operand": "definitionProvider"}]}{"keys": ["ctrl+alt+h"], "command": "lsp_hover", "context": [{"key": "lsp.session_with_capability", "operator": "equal", "operand": "hoverProvider"}]}- 注意
context字段不能少——它确保快捷键只在当前文件已连接对应语言服务器时生效,否则会静默失败 - 别用
goto_definition命令名,LSP 插件用的是lsp_symbol_definition;拼错就完全没反应
为什么 Ctrl+Click 不跳转?不是 bug 是没配
Sublime 的 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)默认只走 Sublime 原生符号索引,和 LSP 完全无关。想让它走 LSP,必须显式重映射:
- 在用户按键绑定里加这一条:
{"keys": ["ctrl+click"], "command": "lsp_symbol_definition", "context": [{"key": "lsp.session_with_capability", "operator": "equal", "operand": "definitionProvider"}]} - 必须带
context,否则点任何地方都会触发,包括空白行或注释里 - 如果用了第三方插件如 Anaconda 或 SublimeCodeIntel,它们会劫持
ctrl+click行为,优先禁用它们再试 - macOS 上
Cmd+Click要写成{"keys": ["super+click"]},写cmd+click无效
补全菜单里 Tab 不确认?不是 LSP 设置问题
这个行为完全由 Sublime 主设置控制,和 LSP 插件或服务器无关。即使 pyright 进程跑着、补全框也弹出来了,Tab 仍只插缩进,除非你改对这三项:
- 在
Preferences → Settings(用户)里确保有:"auto_complete": true - 最关键一句:
"auto_complete_commit_on_tab": true—— 缺它,Tab 永远不选中高亮项 - 如果想支持
${1:name}类模板跳转,还得加:"auto_complete_with_fields": true - 检查是否被
AutoFileName或All Autocomplete插件覆盖了 Tab 绑定:临时禁用它们,重启 Sublime 后再试
真正卡住人的从来不是“怎么配”,而是“配完没生效却不知道该查哪”——右下角状态栏是否显示 LSP: xxx、控制台是否有 Failed to start server、按键绑定里是否漏了 context 字段,这三个点漏掉任何一个,键盘流就断在半路。


















