我正在Elixir/Phoenix框架中使用VS代码进行编码,并尝试转换以下相对路径
lib/shop_web/live/product_live/index.ex
进入
ShopWeb.Live.ProductLive.Index
使用片段。
最接近的是下面的正则表达式
"${RELATIVE_FILEPATH/^(lib\\/|test\\/)(\\w)|(.ex|.exs)$|\\/(\\w)|_(\\w)/${2:/upcase}${4:/upcase}${5:/upcase}/g}"
他给出了以下输出
ShopWebLiveProductLiveIndex
我找不到插入缺失点的方法。
有人能帮我吗?
提前感谢!
2条答案
按热度按时间bjp0bcyl1#
试试这个:
[Note:我为两个路径.分隔符
/
和\
都做了这些工作。如果你不需要,你可以大大缩短代码片段。]你的版本非常接近。我把它改成
\\.ex
只是为了让点更清晰。我还在第5个捕获组之前添加了第4个捕获组
([\\/\\\\])
,如([\\/\\\\])(\\w)
。现在,第4组可以在条件
${4:+.}
中使用,以在路径分隔符所在的位置添加.
。我的版本稍短-它匹配但不使用任何目录是第一个,无论是
lib
或test
或任何。如果这对你不起作用,很容易修改regexp的位。我缩短为4捕获组。([^._\\/\\\\]+)|_|([\\/\\\\])
我的版本结束:([^._\\/\\\\]+)
:匹配除._\/
以外的字符,或_
:匹配它,但我们不使用它,因此不需要捕获组,或者([\\/\\\\])
:只匹配要在条件中使用的组4中的路径分隔符。${4:+.}
:条件,如果存在组4(路径分隔符),则添加.
。eqqqjvef2#
感谢@Mark,我在Elixir或Phoenix Framework中创建模块的代码片段现在看起来像这样:
按照命名约定,我的问题
lib/shop_web/live/product_live/index.ex
中的文件的输出将是: