先确认sublime版本和python环境:st4须用含urllib.request及sha256校验的专用脚本,旧版代码会报nameerror或urlerror;版本可通过help→about查看,安装后需彻底退出并重启验证。

Package Control 安装失败?先确认 Sublime 版本和 Python 运行环境
Sublime Text 3 和 4 的 Package Control 安装代码不同,直接复制旧版代码在 ST4 上大概率报错 NameError: name 'sublime' is not defined 或 urllib.error.URLError。ST4 默认使用 Python 3.8+,而部分老教程的代码依赖已弃用的 urllib2 或哈希校验失效。
- 打开 Sublime → Help → About Sublime Text 确认版本(如
Build 4165属于 ST4;Build 3211是 ST3) - ST4 推荐用官方最新安装命令(2026 年仍有效):
import urllib.request,os,hashlib; h = '6f4c264a24d23ca7df454c82994c8f2d' + 'e'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler())); by = urllib.request.urlopen('https://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download: %s' % dh if dh != h else 'Success! Please restart Sublime Text to finish installation.'); open(os.path.join(ipp, pf), 'wb').write(by) - 如果控制台报
ConnectionResetError,说明被拦截或 DNS 污染,改用手动安装:下载Package Control.sublime-package文件,放入%APPDATA%Sublime TextPackagesInstalled Packages(Windows)或~/Library/Application Support/Sublime Text/Packages/Installed Packages/(macOS),重启即可
Java 开发必需的 3 个插件:别只装 Emmet
Emmet 对 HTML/CSS 快,但 Java 项目真正卡点在编译、跳转、补全——光靠默认语法高亮远远不够。装错插件反而拖慢启动速度。
-
EclipseCodeFormatter:唯一能真正兼容 Eclipse 格式化规则的插件。安装后需手动配置eclipse-formatter-jdt.jar路径(不是ecj.jar),否则格式化会丢掉 import 排序和空行规则 -
JavaComplete2:提供类跳转、方法签名提示、重命名重构。注意它不支持 JDK 21+ 的新特性(如 record 模式匹配),若用 JDK 21,必须搭配jdk.home配置项指向 JDK 17 路径才能稳定工作 -
SideBarEnhancements:右键菜单加「Run Java File」选项,但默认执行的是java -cp . $file_base_name,无法处理多级包结构。需编辑插件配置,在"cmd": ["java", "-cp", "$project_path", "$file_base_name"]中补上-Dfile.encoding=UTF-8,否则中文输出乱码
快捷键冲突:F5 编译 Java 时为什么没反应?
Sublime 默认把 F5 绑定给「运行当前文件」,但 Java 文件需要先编译再运行,且 classpath 必须包含 bin/ 或 target/classes/。直接按 F5 只会报 Error: Could not find or load main class。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 进 Tools → Build System → New Build System…,粘贴以下内容并保存为
Java.sublime-build:{"shell_cmd": "javac -encoding UTF-8 -d "${project_path}/bin" "$file" && java -cp "${project_path}/bin" `echo "$file" | sed 's/\.java$//' | sed 's/\//./g'`","file_regex": "^(...*?):([0-9]+):([0-9]+):? (.*)$","working_dir": "${project_path}","selector": "source.java"} - 关键点:
sed命令把src/com/example/Main.java转成com.example.Main,否则java找不到主类 - Windows 用户把
sed换成PowerShell -Command "(Get-Content '$file' | Select-String 'public class' | ForEach-Object { $_.ToString().Split()[2] })",但更稳妥是装 Git for Windows 并把git/usr/bin加入 PATH
插件配置后仍无法跳转到 JDK 源码?检查 JAVA_HOME 和 project settings
JavaComplete2 跳转失败,90% 是因为 Sublime 没读到 JAVA_HOME,或者项目根目录下缺少 .sublime-project 文件指定 JDK 路径。
- 终端执行
echo $JAVA_HOME(macOS/Linux)或echo %JAVA_HOME%(Windows),确保输出的是 JDK 17 或 JDK 21 的根目录(不是 JRE) - 在项目根目录新建
.sublime-project,写入:{"settings": {"jdk_version": "17", "jdk_home": "/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"}}(macOS 示例) - 不要依赖全局环境变量——Sublime 启动时不会自动继承 shell 的
JAVA_HOME,必须显式声明
Java 插件链里最易被忽略的是 classpath 传递机制:Build System 里的 -cp 和插件里的 jdk_home 是两套逻辑,一个管运行,一个管索引,缺一不可。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










