You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code片段正则如何将Elixir项目相对路径转为对应模块名

VS Code Elixir路径转模块名正则修改方案

你当前的正则缺失模块分隔点的核心原因是:匹配到路径分隔符/后的首字符时,仅输出了转大写的字符,没有提前补模块分隔符.。

最终可用正则

${RELATIVE_FILEPATH/^(lib\/|test\/)(\w)|(\.ex|\.exs)$|\/(\w)|_(\w)/${2:/upcase}${4:+.}${4:/upcase}${5:/upcase}/g}

替换逻辑验证

以你的示例路径lib/shop_web/live/product_live/index.ex为例:

  • 匹配开头lib/后的首字符s(捕获组2),输出大写S
  • 匹配shop_web中_后的首字符w(捕获组5),输出大写W,得到ShopWeb
  • 匹配后续路径分隔符/后的首字符l(捕获组4),先输出.再输出大写L,得到.Live
  • 重复上述规则,/后的字符前补.、_后的字符直接转大写,.ex/.exs后缀匹配后直接丢弃
  • 最终输出结果为ShopWeb.Live.ProductLive.Index,完全符合Elixir模块命名规范,同时也兼容test目录下的测试文件命名转换。

内容的提问来源于stack exchange,提问作者William Fank Thomé

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:15:03