最初,我们计划使用具有类变量的m_前缀的旧约定。但现在要求将所有m_VaribaleName替换为this.variableName,即删除m_并在m_ lowercase之后创建第一个字符。
我可以用这个来搜索和替换m_。但是这不会将变量的第一个字符重命名为小写。搜索和替换之后,如果我使用重新分解工具将VariableName重命名为variableName,则还会使用VariableName重命名已存在的属性。
我想知道是否有任何正则表达式,工具,宏来使这项任务自动化。
答案 0 :(得分:0)
Resharper将突出显示解决方案中的所有此类错误,并单独修复它们,但我认为它不能通过单个命令修复所有错误。不过,它很容易在它找到的错误之间导航。
答案 1 :(得分:0)
您可以在emacs中执行此操作。
打开您的文件(C-x C-f
)并执行M-x replace-regexp
。
假设变量的名称为Variable
。
您的正则表达式查询会替换\(V\)ariable
的{{1}}。
\,(downcase \1)ariable
告诉emacs以下语句是lisp表达式。
此外,如果您想同时替换m_,可以替换\,
的{{1}}。
此将同时处理文件中的所有实例,emacs会记住您上次的replace-regexp查询,因此您无需为多个文件重新键入它。此外,有一种方法可以使用DIRED模式同时对多个文件执行replace-regexp。
在DIRED模式(m_\(V\)ariable
)上打开一个目录,通过按\,(downcase \1)ariable
标记您想要的文件(您可以使用C-x C-f DIR_NAME
和n
进行导航) }。一旦您要处理的文件被标记,请按p
(大写字母)。您将获得与单个文件相同的正则表达式提示,输入正则表达式,m
,替换和Q
。它将一次打开每个文件,按RET
为每个文件替换该文件中的所有reg-exp。
之后,您仍然需要保存文件。您可以使用RET
然后!
进行操作。