sublime text 无法运行 jquery,所谓“智能提示”仅靠静态片段或 lsp 推导;需 $.ajax() 参数提示必须配 lsp + @types/jquery,仅快速写 $(function() { }); 则装 jquery snippets 即可。

Sublime Text 本身不运行 jQuery,也加载不了 jquery.js,所谓“智能提示”只能靠静态片段或语言服务器推导——真想看到 $.ajax() 参数列表,必须配 LSP + @types/jquery;只图快速写 $(function() { });,装 jQuery Snippets 就够了。
装 jQuery Snippets:轻量、即用、不踩坑
这是最稳的选择,适合 95% 的日常 jQuery 编写场景。它不假装能推导链式调用,但把高频写法封装成可 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({});
常见触发词还有 jqeach、jqpost、jqon,全部定义在插件目录下的 .sublime-snippet 文件里。
要 $.xxx() 参数提示?LSP 是唯一可行路径
jQuery Snippets 不提供方法签名提示,SublimeCodeIntel 已停更且在 ES6+ 环境下常失效。真需要输入 $(). 后弹出带参数说明的完整方法列表,必须走 TypeScript 语言服务器路线。
- 通过 Package Control 安装
LSP和LSP-typescript - 全局安装类型定义:
npm install -g @types/jquery - 项目根目录放一个空的
tsconfig.json(哪怕只写{}) - 在 JS 文件顶部加三斜线引用:
/// <reference types="jquery"></reference>(缺这句,LSP 不加载 jQuery 类型) - 保存文件,等 1–2 秒,再输入
$().才会触发完整补全
注意:这个流程对文件位置、引用语法、Node.js 环境都敏感,任意一环断掉,提示就消失——不是插件没装好,而是类型上下文没建立起来。
别碰 jQuery Completions、SublimeCodeIntel 这类老插件
它们基于硬编码的 jQuery 1.x API 列表,现在基本失效,还容易拖慢编辑器。
- 输入
.后弹出已废弃的.live()、.die()方法 - 在
import $ from 'jquery'或箭头函数中完全不工作 - 对 jQuery 3.x 新增的
.prop()行为差异毫无感知,补全内容和实际运行结果不一致 - 已安装的,直接进
Preferences → Package Control → Remove Package卸载,比调试快得多
手动补漏时,自己写的 .sublime-snippet 必须严格设置 <scope>source.js</scope> 和唯一 <tabtrigger></tabtrigger>,否则在 JS 文件里根本不会响应。
真正卡住人的从来不是“装哪个插件”,而是 tsconfig.json 是否存在、/// <reference></reference> 是否写对、以及 LSP 是否等到类型加载完成才开始工作——这些细节不显眼,但缺一不可。











