sublime text 不支持 gradle 构建调试,仅能通过手动配置 build system 调用 ./gradlew 或 gradlew.bat 执行任务并查看终端输出;需确保语法作用域为 source.gradle、正确设置 selector 和工作目录,且禁用针对 .gradle 文件的自动格式化。

Gradle 构建支持不是“装个插件就完事”
Sublime Text 本身不提供 Gradle 构建调试能力,所谓“安装 Gradle 构建调试工具”,实际是手动配置 Build System + 确保本地 gradle 可执行环境可用。没有插件能给你断点、变量监视或调用栈——那属于 IDE 范畴。你只能做到:按 Ctrl+B 触发 ./gradlew 或 gradle 命令,并实时看到终端输出。
- 别搜“Gradle Debugger”或“Gradle Debug Plugin”——Sublime 没这种东西,搜到的全是误导或已失效的旧包
- 必须先验证终端里能跑
gradle -v或项目内能跑./gradlew tasks;否则 Sublime 里再怎么配 Build System 都会报command not found - Windows 用户尤其注意:
./gradlew在 cmd/PowerShell 下无效,得用gradlew.bat;Sublime 默认 shell 是 cmd,不改就卡在“系统找不到指定文件”
Build System 必须匹配语法作用域(source.gradle)
很多用户配完 Build System 按 Ctrl+B 没反应,根本原因是 "selector" 写错了。Sublime 不靠文件名或内容判断该不该触发构建,只认这个字段匹配的语法作用域。
- 确保你已安装
Gr8插件(不是Groovy),并手动将build.gradle文件右下角切换为Gr8/Groovy;否则文件作用域是source.text或source.xml,Build System 完全不响应 -
"selector": "source.groovy, source.gradle"是唯一有效的写法;写成source.Gradle、gradle或漏掉source.前缀,都会静默失效 - 验证方式:打开
build.gradle→Ctrl+Shift+P→ 输入Developer: Show Scope Name→ 光标停在任意位置,看输出是不是以source.gradle开头
Build System 配置要点(含 Windows / wrapper 差异)
直接新建 Tools → Build System → New Build System,粘贴以下内容并保存为 Gradle.sublime-build:
{
"selector": "source.groovy, source.gradle",
"working_dir": "${project_path:${folder}}",
"shell": true,
"variants": [
{
"name": "Tasks",
"cmd": ["./gradlew", "tasks"]
},
{
"name": "Build",
"cmd": ["./gradlew", "build"]
}
]
}
- macOS/Linux 用
./gradlew;Windows 必须改成gradlew.bat,否则cmd找不到可执行文件 - 如果全局
gradle命令可用(即gradle -v成功),可把cmd改成["gradle", "build"],但要注意 PATH 是否被 Sublime 继承(常丢失);稳妥做法是在Build System里加"path": "/opt/gradle/bin:/usr/local/bin"(填你真实路径) -
"working_dir"必须设为"${project_path:${folder}}",否则./gradlew在子目录里执行会找不到 wrapper
别指望 DSL 补全、跳转或格式化
Gr8 插件只做语法高亮,LSP(如 jdtls)对 Gradle DSL 支持极弱,目前没有任何 Sublime 插件能解析 dependencies { implementation '...' } 并补全坐标或跳转到声明。强行启用格式化(比如 Prettier)会破坏 DSL 结构,例如把 testImplementation 拆成两行导致语法错误。
- 禁用所有针对
.gradle文件的自动格式化功能;可在Preferences → Settings – Syntax Specific里加"format_on_save": false - DSL 错误只能靠执行
./gradlew build --dry-run或看终端报错;Sublime 自身不校验 Groovy 语法是否符合 Gradle 规则 - 真正需要语义能力(补全、跳转、重构)时,应切到 IntelliJ IDEA 或 VS Code + Gradle Language Support 扩展——Sublime 的定位是轻量编辑,不是构建调试环境
source.gradle 作用域没生效、Windows 下死守 ./gradlew、或者以为装了 Gr8 就等于能“调试”。这些点不亲手验证一遍,光抄配置永远跑不起来。











