2021 年你需要知道的关于 Erlang 的一切
- admin
- 07 Jan 2024
今天,我们将看一个相当古老且有些古怪的东西。 你们大多数人可能没有注意到的语言。 虽然 Erlang 不像某些现代编程语言那样流行,但它安静地运行着 WhatsApp 和微信等每天为大量用户提供服务的应用程序。 在这篇文章中,我将告诉你关于这门语言的更多事情、它的历史,以及你是否应该考虑自己学习它。 ## 什么是 Erlang,它在哪里使用? Erl
Read More通过在运行实例中包含 Erlang/OTP 并安装 VSCode 扩展,可以在 Theia IDE 中使用 Erlang LS。
如果您想尝试使用 GitPod,请单击此处。 要在您的 Erlang 项目(托管在 GitHub 或 Gitlab)中使用相同的设置,您可以在 .gitpod.yml 中找到 GitPod 配置
Kakoune 编辑器通过 Kakoune 语言服务器协议客户端 (kak-lsp) Kakoune 插件为 Erlang LS 提供支持。
确保您最近安装了 Kakoune。 包管理器可能带有非常旧的 Kakoune 版本。
提示:
在你的系统上安装 Erlang LS。 您可能会或可能不会决定将 erlang_ls 可执行文件放在 $PATH 上。
按照存储库上的说明从源代码安装或构建 kak-lsp。
寻找 kak-lsp.toml。 该文件具有 Kakoune kak-lsp 插件的语言特定设置。
在 Linux 上,kak-lsp 的配置通常应该位于 $HOME/.config/kak-lsp/kak-lsp.toml 中,其中 $HOME 是您的主目录。
在你最喜欢的编辑器(Kakoune 😄?)中打开 kak-lsp.toml,查找 [language.erlang]。 它应该看起来像这样:
[language.erlang]
filetypes = ["erlang"]
# See https://github.com/erlang-ls/erlang_ls.git for more information and
# how to configure. This default config should work in most cases though.
roots = ["rebar.config", "erlang.mk", ".git", ".hg"]
command = "erlang_ls"
提示:如果您没有找到 [language.erlang],您可能使用的是旧版本的 kak-lsp。 没关系,你可以自己添加这个 toml 片段到 kak-lsp.toml ,这没有任何问题。
如果 erlang_ls 可执行文件在您的 $PATH 上 如果您添加了上述代码片段并重新启动 Kakoune,请保存 kak-lsp.toml。
你完成了! Erlang LS 现在应该可以用于 Erlang 项目和源代码了!
如果 erlang_ls 可执行文件不在您的 $PATH 上 将 [language.erlang] 部分的命令行更改为:
command = "/the/path/to/erlang_ls"
不要忘记保存文件并重新启动 Kakoune!
面包屑在页面顶部显示指向当前元素及其祖先的链接列表。
面包屑可以通过以下方式启用或禁用:
Settings > Workbench > Breadcrumbs
设置部分包含许多额外的首选项来调整要精确显示的内容(例如图标、符号、文件的完整路径等)。
面包屑由 lsp-mode 包提供。 要启用面包屑:
(setq lsp-headerline-breadcrumb-mode t)
您还可以通过自定义 lsp-headerline-breadcrumb-segments 变量来自定义在面包屑中显示的内容。 更多信息请参考官方 lsp-mode 文档。
通过获取上下文感知完成函数名称、宏、记录、变量名称等代码。
导航到函数、宏、记录或类型的定义。
在 gen_server:start_link 调用上悬停? 只需按一下键即可跳转到相应的 init 函数。
永远不记得函数keytake/3参数列表的顺序? 你并不孤单。 我们为您提供保障。
整齐地排列显示来自编译器的警告和错误。
让 Dialyzer 毫无错误地完全通过从未如此简单。
内联显示Elvis的风格建议。 不再有同事的挑剔评论!
将鼠标悬停在本地或远程函数上以查看其 edoc。 当 edocs 不可用时,您会非常想念这个功能,以至于您将开始主动编写它们!
只需单击一下即可导航到包含的文件。
谁在调用这个函数? 可以在不离开当前上下文的情况下弄清楚。
在旁边获得一个很好的模块大纲并在功能之间跳转。
今天,我们将看一个相当古老且有些古怪的东西。 你们大多数人可能没有注意到的语言。 虽然 Erlang 不像某些现代编程语言那样流行,但它安静地运行着 WhatsApp 和微信等每天为大量用户提供服务的应用程序。 在这篇文章中,我将告诉你关于这门语言的更多事情、它的历史,以及你是否应该考虑自己学习它。 ## 什么是 Erlang,它在哪里使用? Erl
Read More这篇文章探讨了 Erlang/OTP 25 中基于类型的新优化,其中编译器将类型信息嵌入到 BEAM 文件中,以帮助JIT(即时编译器)生成更好的代码。 ## 两全其美 OTP 22 中引入的基于SSA的编译器处理步骤进行了复杂的类型分析,允许进行更多优化和更好的生成代码。然而,Erlang 编译器可以做什么样的优化是有限制的,因为 BEAM 文件必须
Read More自从Erlang 存在,就一直有让它更快的需求和野心。这篇博文是一堂历史课,概述了主要的 Erlang 实现以及如何尝试提高 Erlang 的性能。 ## Prolog 解释器 Erlang 的第一个版本是在 1986 年在 Prolog 中实现的。那个版本的 Erlang 对于创建真正的应用程序来说太慢了,但它对于找出Erlang语言的哪些功能有用,哪
Read More