【发布时间】:2023-04-02 14:21:02
【问题描述】:
在使用EDTSerlang emacs IDE时,我觉得与rebar的集成并不多,所以我想知道如何指定编译选项以便我可以添加debug_info 和 {parse_transform, lager_transform}。
【问题讨论】:
在使用EDTSerlang emacs IDE时,我觉得与rebar的集成并不多,所以我想知道如何指定编译选项以便我可以添加debug_info 和 {parse_transform, lager_transform}。
【问题讨论】:
EDTS 有点适用于.beams,因此它应该能够使用完全相同的选项进行编译。让我解释一下。
EDTS 使用项目的概念(它是 xref 服务器,假设它们或多或少相同)。当您打开一个源文件时,他会将其添加到“项目列表”中,然后添加他可以找到的所有其他模块。这里重要的是,他是根据.beam 文件来做的。它有两大意义。
首先,如果您的模块未编译,他会认为您调用了未定义的函数(当然,您在编辑器中实际打开的文件除外)。
第二个事实是,如果他能找到曾经编译过的二进制文件,他就可以从中读取和重用编译标志。当然,在 emacs 中创建的所有新文件在这些选项中都不会包含 .beam,因此它们将使用默认选项进行编译。
因此,如果您对文件的编译/模块方式有任何疑问,您可以参考从命令行重新编译它们
$ ./rebar clean compile
并使用M-x edts-project-node-refresh 或M-x edts-project-node-init 重新初始化EDTS
【讨论】: