Sublime Text配置Erlang分布式开发_Sublime Text高亮提示设置【后端】

秋丽姑娘_7631

秋丽姑娘_7631

2026-05-15

887人浏览

原创

sublime text 不支持 erlang 分布式开发,仅能辅助语法高亮、编译和头文件跳转;必须使用官方 erlang 插件(https://github.com/erlang-editors/sublime-erlang)以支持 otp 24+ 的 -spec/-callback 语法,且需确保文件编码为 utf-8 without bom、working_dir 正确设置、.hrl 路径可解析。

sublime text配置erlang分布式开发_sublime text高亮提示设置【后端】

Sublime Text 不能做 Erlang 分布式开发,它连单节点运行都不支持——所谓“分布式”,只能靠你在终端里手动启多个 erl 节点、用 -name 或 -sname 配置网络名、再通过 net_adm:ping() 连通。Sublime 唯一能帮你的,是让 .erl 文件高亮正确、编译不报路径错、跳转 -include 头文件时不崩。

为什么装了 Erlang 插件还是不显示 -spec / -callback?

因为插件没选对,或者语法 scope 没激活。官方维护的 Erlang 插件(GitHub 地址 https://github.com/erlang-editors/sublime-erlang)从 OTP 24 开始才完整支持 -spec、-callback、-opaque 等新语法;其他名字带 “Erlang” 的插件(比如已停更的 Erlang Language Support)会把 -spec fun() -> ok. 当成注释或直接忽略。

  • 安装后打开任意 .erl 文件,右下角必须显示 Erlang —— 若是 Plain Text,右键 → Set Syntax → Erlang → Erlang 手动切一次
  • 确认插件启用:按 Ctrl+Shift+P 输入 Package Control: List Packages,看列表里是否有 Erlang(不是 erlang-sublime 或 SublimeErlang)
  • 如果 -spec 行仍无颜色,用 Ctrl+Alt+Shift+P 查当前光标位置的 scope,应看到类似 meta.spec.erlang;若只有 source.erlang,说明插件根本没加载语法定义

Ctrl+B 编译失败但没错误提示,怎么定位问题?

Sublime 构建系统默认静默失败,stderr 不输出,erlc 即使因 BOM、路径错或权限不足退出,你也只看到“构建完成”或空白面板。关键不是改 JSON,而是让错误浮出来。

ZenMux
ZenMux

ZenMux是一款AI大模型工具,全球首个带保险赔付机制的企业级大模型聚合平台。

下载
  • 确保 .erl 文件保存为 UTF-8 without BOM(BOM 会导致 erlc 解析失败且不报行号)
  • 在构建系统中显式加 "shell": true,并把 "cmd" 改成 shell 命令串:["sh", "-c", "erlc '$file' 2>&1 || echo '--- COMPILATION FAILED ---'"]
  • 检查 "working_dir": "$file_path" 是否设置——缺了这句,erlc 找不到同目录下的 .hrl 或把 .beam 生成到奇怪位置
  • Windows 用户若用 WSL,别在 Sublime 里调用 Windows 版 erlc.exe,而应配 WSL 路径:["wsl", "erlc", "$file"]

怎么让 Ctrl+Click 跳转到 -include 的 .hrl 文件?

Sublime 默认不解析 Erlang 的 -include、-define 或模块导出,跳转失效不是配置问题,是语法层面没索引能力。目前唯一可靠方案是用 Erlang-sublime 插件(注意:这不是官方 Erlang 插件),但它只在 Linux/macOS 下稳定,且要求头文件路径必须相对当前文件可算出。

  • 安装 Erlang-sublime 后,重启 Sublime,打开 .erl 文件,把光标停在 -include("xxx.hrl"). 的 xxx.hrl 上,按 Ctrl+Click
  • 跳转失败常见原因:xxx.hrl 不在 $file_path 或其子目录中;文件名含大写但实际是小写(macOS/Linux 区分大小写);路径用了 ../ 但插件不支持向上跨级
  • 替代方案:放弃跳转,用 Ctrl+P 快速打开文件,或在终端执行 grep -r "some_macro" include/ 定位

真正卡住 Erlang 分布式开发的,从来不是 Sublime 配置——而是你没在终端里跑通 erl -name a@127.0.0.1 -setcookie abc 和 erl -name b@127.0.0.1 -setcookie abc,再互相 net_adm:ping('a@127.0.0.1'). Sublime 只负责让你少打错一个 -spec 括号,别的得自己进 shell 里敲。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2343

5

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6110

13

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5466

10

erlang语言是什么
erlang语言是什么

erlang是一种并发、容错、分布式和动态类型的编程语言。它专门用于构建并发系统,并提供了一个轻量级进程模型来实现并发性。想了解更多erlang的相关内容,可以阅读本专题下面的文章。

2024.06.19

1358

9

什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1953

5

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.07

2854

5

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

0

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程