sublime text 本身不带智能代码提示,必须靠插件实现——package control 是前提,没它就装不了任何提示类插件;javascript 提示应选 ternjs 而非 javascript completions,vue/react/php 提示需组合配置,插件冲突会导致提示不稳定。

Sublime Text 本身不带智能代码提示,必须靠插件实现——Package Control 是前提,没它就装不了任何提示类插件。
安装 Package Control 是硬门槛
所有代码提示插件都依赖 Package Control,它不是可选插件,而是包管理器。不装它,后续步骤全卡死。
- 按
Ctrl+`(反引号,Esc 下方)打开控制台 - 粘贴对应 Sublime Text 版本的安装代码(2026 年主流是 ST4,官方最新安装脚本在 packagecontrol.io 可查,别用 ST3 的旧哈希值)
- 回车后等几秒,成功会弹出 README;失败常见原因是网络被拦截或哈希校验不匹配
- 重启 Sublime Text,检查
Preferences → Package Control是否出现,没出现说明没装好
JavaScript 提示:用 TernJS 而不是 JavaScript Completions
JavaScript Completions 只补全局变量和基础语法,对项目内函数、模块、ES6+ 解构完全无感;TernJS 才真能解析上下文、跳转定义、推导类型。
- 按
Ctrl+Shift+P输入Package Control: Install Package回车 - 搜
TernJS安装(注意不是Tern或ternjs-sublime) - 安装后需手动配置:
Preferences → Package Settings → TernJS → Settings – User,填入项目根目录下的.tern-project路径或启用"smart_complete": true - 若提示
tern command not found,说明没装 Node.js 的ternCLI,运行npm install -g tern补上
Vue / React / PHP 提示不能只靠语法高亮
像 Vue Syntax Highlight 或 PHP Companion 这类插件只管颜色,不提供补全。要提示,得组合使用:
- Vue:装
Vue Syntax Highlight+Vetur(注意不是Vue Completions,后者已多年未维护);.vue文件需右下角手动切换语法为Vue,否则<script></script>块仍走 JS 默认规则 - React:
React JSX插件仅高亮;补全靠JsPrettier+TernJS配合 Babel 解析,或改用SublimeLinter-eslint把 ESLint 当提示源 - PHP:
PHP Companion提供use补全和new类名提示,但依赖php.exe路径正确;若提示失效,检查php_path配置项是否指向本地 PHP 二进制文件
插件冲突会导致提示“时灵时不灵”
多个提示插件同时监听 on_query_completions 事件,容易互相覆盖。比如 Emmet 和 TernJS 在 .html 文件里抢焦点,结果 Emmet 的缩写能用,但 JS 函数不提示。
- 先禁用所有非必要插件,只留
Package Control+ 目标提示插件,验证是否正常 - 再逐个启用,观察
Ctrl+Shift+P → View → Show Console里是否报TypeError: 'NoneType' object is not iterable类错误 - 常见冲突组合:
AutoFileName和PHP Companion在 require 路径补全时打架;GitGutter本身不冲突,但加载慢会拖累整个补全响应 - 性能敏感时,把
"auto_complete_delay": 0.5改成0.0(单位秒),减少等待,但可能误触
真正影响提示效果的,从来不是插件数量,而是插件之间有没有明确的 scope 排他规则和语言服务器协商机制——Sublime 没有 LSP 原生支持,这点比 VS Code 天然吃亏,别指望装完就“开箱即用”。











