Sublime Text 需手动配置 ESLint、跳转与运行支持:先全局安装 ESLint,再装 SublimeLinter 及其-eslint 插件,并配置 paths;用 JavaScript Enhancements 实现 Ctrl+Click 跳转;新建 JavaScript.sublime-build 构建系统实现 Ctrl+B 运行。

Sublime Text 本身不带 JavaScript 运行能力,配置“开发环境”本质是补全编辑体验和轻量调试支持,不是装个插件就等于 Node.js IDE。
如何安装并启用 ESLint 支持(避免满屏红色波浪线)
ESLint 是实际项目中最常依赖的校验工具,但 Sublime 默认不识别 .eslintrc.js 或 package.json 中的配置。直接装 SublimeLinter + SublimeLinter-eslint 往往报错 ESLint not found。
- 先确保系统已全局安装 ESLint:
npm install -g eslint(或用npx eslint --init初始化项目级配置) - 在 Sublime 中通过 Package Control 安装
SublimeLinter和SublimeLinter-eslint,**不要装旧版ESLint-Formatter** —— 它只格式化、不校验,且已弃用 - 如果仍提示找不到 ESLint,检查
SublimeLinter.sublime-settings中的paths是否包含 Node 全局 bin 路径,例如 macOS 上加"/usr/local/bin",Windows 上加"C:\Users\xxx\AppData\Roaming\npm" - 校验生效后,
console.log不会报错,但var a = 1; a = 2;在no-redeclare开启时会标黄
如何让 Ctrl+Click(或 Cmd+Click)跳转到函数定义
Sublime 原生不支持 JS 符号跳转,靠 JS Custom 或 SublimeCodeIntel 都有明显缺陷:前者需手动写语法定义,后者早已停止维护且常卡死。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 推荐使用
EasyClangComplete的思路变体:改用JavaScript Enhancements插件(注意不是JavaScript Completions) - 它依赖本地
node_modules/.bin/flow或typescript-language-server提供语义分析,所以必须在项目根目录有package.json并已安装typescript或flow-bin - 安装后重启 Sublime,首次打开 JS 文件会自动启动语言服务器;若跳转失效,看状态栏是否显示
JS Enhancements: Ready,否则查控制台(Ctrl+`)里是否有spawn ENOENT类错误 - 跳转范围限于当前项目内 import 的模块,对 node_modules 内置模块(如
fs)或未 require 的文件无效
如何运行当前 JS 文件(不依赖终端敲 node)
Sublime 没有内置终端集成,所谓“运行”只是调用系统 node 执行当前文件,适合快速验证小脚本,不适合带交互或监听端口的服务。
立即学习“Java免费学习笔记(深入)”;
- 用
Tools → Build System → New Build System…创建新构建文件,内容填:
{
"shell_cmd": "node "${file}"",
"selector": "source.js",
"file_regex": "^(...*?):([0-9]*):([0-9]*):? ?(.*)$",
"working_dir": "${file_path}"
}
- 保存为
JavaScript.sublime-build(路径自动进Packages/User/),然后按Ctrl+B即可运行 - 注意:如果文件用了 ES module 语法(
import),而 Node 版本 "type": "module" 到package.json,会报Cannot use import statement outside a module - 输出在 Sublime 底部面板,无法输入,也不支持
process.stdin等交互操作
真正卡住人的从来不是插件装不装得上,而是搞不清哪些功能必须靠外部工具链(比如 ESLint、TypeScript Server)提供,哪些是 Sublime 自己能扛的——把责任边界划错了,问题就永远在“重装插件”和“换编辑器”之间打转。

















