在Android项目中将所有名称变量和函数从上到下驼峰式更改

时间:2019-12-26 09:13:28

标签: java android android-studio intellij-idea intellij-plugin

我有一个Andriod项目。

该项目有许多类和变量。

此项目名称中的所有函数和变量均以大写字母开头。

我需要更改为小写。

SELECT max(created_at)

Class A {
   String Boo;
   void HandlerMyJob(){
   }
}

我可以使用Android Studio解决此问题吗?

3 个答案:

答案 0 :(得分:1)

您可以使用Refractor重命名所有变量或类或方法的名称。

在Windows中:

Shift + F6

在Mac中:

Fn + Shift + F6

选择重命名所有匹配项。

Image

答案 1 :(得分:1)

您只需右键单击类或变量名,然后重构它就可以了

答案 2 :(得分:1)

您可以使用结构搜索和替换(SSR)功能进行操作。请确保将IntelliJ IDEA更新到最新版本,以便从SSR的最新更新中受益。

有关功能的详细信息和一些用法示例can be found here

根据您的情况,您可以使用以下模板来修复变量名称:

<replaceConfiguration name="InitFinder" text="$FieldType$ $Field$;" recursive="false" caseInsensitive="true" type="JAVA" pattern_context="default" reformatAccordingToStyle="false" shortenFQN="true" replacement="$FieldType$ $Field2$;">
  <constraint name="__context__" within="" contains="" />
  <constraint name="Field" regexp="\b^[A-Z]\w*\b" maxCount="2147483647" target="true" within="" contains="" />
  <constraint name="FieldType" within="" contains="" />
  <variableDefinition name="Field2" script="&quot;Field.name.uncapitalize()&quot;" />
</replaceConfiguration>

您可以在“结构替换”窗口中对其进行更改,以涵盖异常情况。


使用SSR重命名方法可能很棘手-但仍然可行。

void MyMethod2(String field2) {
        mField2 = field2;
    }

对于任何具有与上述相同结构的方法,“取消大写”搜索/替换模板将是:

<replaceConfiguration name="constructors &amp; methods" text="class $Class$ {&#10;    void $Method$($ParameterType$ $Parameter$){&#10;        $Statement$;&#10;    };&#10;}" recursive="false" caseInsensitive="true" type="JAVA" pattern_context="member" reformatAccordingToStyle="true" shortenFQN="true" replacement="void $Method2$($ParameterType$ $Parameter$){&#10;    $Statement$;&#10;}&#10;">
  <constraint name="__context__" within="" contains="" />
  <constraint name="Method" regexp="\b^[A-Z][a-z]\w*\b" target="true" within="" contains="" />
  <constraint name="ParameterType" within="" contains="" />
  <constraint name="Parameter" within="" contains="" />
  <constraint name="Class" within="" contains="" />
  <constraint name="Statement" within="" contains="" />
  <variableDefinition name="Method2" script="&quot;Method.name.uncapitalize()&quot;" />
</replaceConfiguration>