sublime text 没有代码提示,本质是未安装package control——它不是插件而是必须的包管理框架;st4用户应通过ctrl+shift+p→install package control(内置入口)安装并重启,而非使用过时脚本。

Sublime Text 没有代码提示,本质是缺 Package Control
没提示不是编辑器坏了,而是根本没装插件管理器。Sublime Text 原生不带任何语言的智能补全,Package Control 是所有后续插件的前提——它不是“可选”,而是“必须”。如果 Preferences 菜单里没有 Package Control 项,说明这一步还没走完。
- 别用网上过时的控制台安装代码(比如含
urllib2或无校验哈希的),2026 年主流版本(ST4)要求 SHA256 校验,否则会静默失败 - 推荐方式:按
Ctrl+Shift+P→ 输入Install Package Control→ 回车。这是 ST4 内置的自动安装入口,比手动粘贴 Python 代码更可靠 - 安装后必须重启 Sublime Text,否则
Ctrl+Shift+P里搜不到Install Package
JavaScript 提示该装 TernJS 还是 JavaScript Completions
JavaScript Completions 只补全局对象和语法关键词(如 console.log、for),不解析变量或函数签名;TernJS 才真能跳转定义、推导参数类型、响应 this 上下文——但需要项目根目录有 .tern-project 配置文件,否则提示照样失效。
- 快速验证:新建
test.js,输入document.,按下Ctrl+Space。如果只弹出几十个 DOM 方法,说明TernJS没生效 -
TernJS启动依赖 Node.js,确保系统 PATH 里有node命令,否则控制台会报错node is not recognized - 不用删掉
JavaScript Completions,它和TernJS可共存:前者兜底基础词,后者负责深度分析
Python 补全为什么 SublimeCodeIntel 不推荐了
SublimeCodeIntel 依赖旧版 Python 解析器,2026 年在 ST4 上常卡死、内存暴涨,且不支持 type hints(如 def foo(x: int) -> str:)。现在更稳的选择是 anaconda 插件,但它默认开启 linting,容易把警告当错误标红。
- 安装后立刻去
Preferences → Package Settings → Anaconda → Settings - User,加一行:"anaconda_linting": false,避免干扰 - 想让补全响应
import numpy as np后的np.,必须在项目根目录放setup.py或pyproject.toml,否则只认标准库 - 如果用 Poetry 管理依赖,
anaconda默认读不到虚拟环境,需手动指定"python_interpreter": "/path/to/venv/bin/python"
插件装完没反应?先查这三个地方
提示失效十次里有八次是因为配置没对齐,而不是插件本身问题。别急着重装,先看日志和路径。
- 按
Ctrl+Shift+P输入View Package Contents,确认插件文件夹真实存在(比如TernJS应在Packages/TernJS/下,而非Installed Packages/) - 打开控制台(
Ctrl+`),敲sublime.log_commands(True),然后触发补全操作,看控制台是否打印on_query_completions相关日志 - 检查当前文件的 syntax 设置:右下角显示 “Plain Text” 就不会触发 JS 插件,必须点开选 “JavaScript” 或 “JavaScript (Babel)”
真正麻烦的从来不是装不上,而是装上了却不知道它在哪读配置、从哪找依赖、凭什么决定该不该提示——这些细节不盯住,换十个插件也没用。











