将 android 项目中的所有名称变量和函数从 upper 更改为 lower Camelcase

change all name variables and functions from upper to lower Camelcase in android project

我有一个 Andriod 项目。

这个项目有很多类和变量。

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

我需要改成小写。

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

Class A {
   String boo;
   void handlerMyJob(){
   }
}

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

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

在Windows中:

Shift + F6

在Mac中:

Fn + Shift + F6

选择重命名所有匹配项。

你只需右键单击 class 或变量名并重构就可以了

您可以使用结构搜索和替换 (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>

您可以在结构替换中更改它 window 以涵盖异常情况。


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

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

对于与上述结构相同的任何方法,'uncapitalizing' search/replace 模板将是:

<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>