sublime text 无法运行 jquery,所谓“语法补全插件”实为代码片段或依赖 lsp 的智能提示;推荐用 package control 安装 jquery snippets(作者 adamhathcock),输入 jqready+tab 展开 $(function() { });,如需 $.ajax() 参数提示则必须配置 lsp + @types/jquery 并添加三斜线引用。

Sublime Text 本身不运行 jQuery,所谓“语法补全插件”实际只提供代码片段(snippets)或依赖语言服务器的智能提示;直接装名字带 jQuery 的包,大概率只能触发固定模板,而不是 $.ajax() 的参数提示。
用 Package Control 安装 jQuery Snippets(最稳)
这是唯一推荐给大多数人的方案:轻量、无兼容风险、即装即用。它不假装能推导链式调用,但把常见写法(如 $(document).ready()、$.get())封装成可 Tab 展开的前缀。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Package Control: Install Package回车 - 等待列表加载后,搜
jQuery Snippets(作者 adamhathcock,GitHub star 最多)并安装 - 新建一个
.js文件,确保右下角状态栏显示JavaScript(不是 Plain text 或 HTML) - 输入
jqready+Tab→ 展开为$(function() { });;jqajax+Tab→$.ajax({});
想获得 $.xxx() 参数提示?必须配 LSP + @types/jquery
如果真需要 $.ajax() 按 . 后弹出带参数说明的方法列表,Snippet 不够用——得靠 TypeScript 语言服务器解析类型定义。这不是“装个插件”能解决的事,关键步骤缺一不可:
- 先装
LSP和LSP-typescript(通过 Package Control) - 全局安装类型定义:
npm install -g @types/jquery - 项目根目录放一个空的
tsconfig.json(哪怕只写{}) - 在 JS 文件顶部加三斜线引用:
/// <reference types="jquery"></reference>(没这句,LSP 不会加载 jQuery 类型) - 保存文件,等 1–2 秒,再输入
$().才会弹出完整方法列表
别碰 jQuery Completions、SublimeCodeIntel 这类老插件
它们基于静态函数列表硬编码 jQuery 1.x API,现在基本失效,还容易拖慢编辑器:
- 输入
.后弹出已废弃的.live()、.die()方法 - 在 ES6 模块、箭头函数或
import $ from 'jquery'场景下完全不工作 - 对 jQuery 3.x 新增的
.prop()行为差异毫无感知,补全内容和实际运行结果不一致 - 如果已装,直接进
Preferences → Package Control → Remove Package卸载,比调试快得多
手动加 snippet 补漏时,scope 和 tabTrigger 必须对
自己写一个 jqgetjson 片段却没反应?90% 是这两处错了:
-
<tabtrigger>jqgetjson</tabtrigger>必须全小写,且不能含空格或特殊字符 -
<scope>source.js</scope>决定生效范围——写成text.html或漏掉这行,JS 文件里就触发不了 - 保存路径必须是
Packages/User/jqgetjson.sublime-snippet(可通过Preferences → Browse Packages…进入) - 文件语法必须是 JavaScript(右下角确认),否则 snippet 引擎压根不扫描
真正卡住人的从来不是“怎么装”,而是装完发现没提示——多半是语法没设对、没加三斜线引用、或者误信了过时插件的宣传文案。补全这件事,Sublime 从不自动猜你用的是哪个版本的 jQuery,它只响应你明确告诉它的信号。











