Visual Studio Code中Erlang LS无法识别include_lib问题排查
问题分析与解决
首先你的erlang_ls.config存在语法错误,这是导致Erlang LS无法正确识别include路径的核心问题:
include_dirs下的- "include缺少结尾的双引号,应该改为- "include"。
修复语法错误后,完整的正确配置如下:
apps_dirs: - "_build/default/lib/*" include_dirs: - "_build/default/lib/*/include" - "include"
补充说明
apps_dirs: - "_build/default/lib/*"的作用是让Erlang LS自动识别_build目录下的所有依赖应用,通常已能覆盖依赖的include路径,但显式在include_dirs中配置也没问题。-include_lib("common_erlang/include/common.hrl")是符合Erlang规范的写法,rebar3编译时能自动找到依赖头文件,修复配置语法错误后,重启VS Code或重新加载Erlang LS扩展,错误提示即可消失。
如果修复后仍有异常,可尝试:
- 执行
rebar3 clean后重新构建,确保_build目录下的依赖文件完整。 - 确认
common_erlang确实存在于_build/default/lib/目录,且其include子目录下有common.hrl文件。
内容的提问来源于stack exchange,提问作者Patrick Larrivee-Woods
相关产品推荐
相关产品推荐

