IntelliJ IDEA:如何在结构替换期间创建新的 class 字段
IntelliJ IDEA: How to create a new class field during Structural replace
我多次调用静态 class 方法
例如
LegacyLogger.println (ERROR_LEVEL, "Simple string parameter");
我已经使用模板找到了所有需要的代码:
LegacyLogger.println(ERROR_LEVEL, $params$)
我怎样才能导入 class 并创建一个新字段
Logger logger = Logger.GetInstance(SomeClass.class);
inside classes 将此搜索字符串替换为:
logger.error("Simple string parameter");
您可以尝试使用常规的“在路径中查找”搜索类似 "logger." 的内容,然后在“查找 window”中打开结果。这应该找到您使用新记录器的所有源文件。
然后创建结构搜索和替换模式以在 class 中插入新的记录器声明。搜索没有记录器声明的 classes 并使用范围 "Previous Search Results"。这应该在所有 classes 中插入新的记录器,而在之前搜索中找到的文件中没有记录器。
<replaceConfiguration name="Unnamed" text="class $A$ { Logger $logger$ = Logger.GetInstance(SomeClass.class); }" recursive="false" caseInsensitive="false" type="JAVA" pattern_context="default" reformatAccordingToStyle="false" shortenFQN="false" replacement="class $A$ { Logger logger = Logger.GetInstance(SomeClass.class); }">
<constraint name="__context__" within="" contains="" />
<constraint name="A" within="" contains="" />
<constraint name="logger" minCount="0" maxCount="0" within="" contains="" />
</replaceConfiguration>
(使用对话框右上角工具按钮下的 "Import Template from Clipboard" 操作)
我多次调用静态 class 方法
例如
LegacyLogger.println (ERROR_LEVEL, "Simple string parameter");
我已经使用模板找到了所有需要的代码:
LegacyLogger.println(ERROR_LEVEL, $params$)
我怎样才能导入 class 并创建一个新字段
Logger logger = Logger.GetInstance(SomeClass.class);
inside classes 将此搜索字符串替换为:
logger.error("Simple string parameter");
您可以尝试使用常规的“在路径中查找”搜索类似 "logger." 的内容,然后在“查找 window”中打开结果。这应该找到您使用新记录器的所有源文件。
然后创建结构搜索和替换模式以在 class 中插入新的记录器声明。搜索没有记录器声明的 classes 并使用范围 "Previous Search Results"。这应该在所有 classes 中插入新的记录器,而在之前搜索中找到的文件中没有记录器。
<replaceConfiguration name="Unnamed" text="class $A$ { Logger $logger$ = Logger.GetInstance(SomeClass.class); }" recursive="false" caseInsensitive="false" type="JAVA" pattern_context="default" reformatAccordingToStyle="false" shortenFQN="false" replacement="class $A$ { Logger logger = Logger.GetInstance(SomeClass.class); }">
<constraint name="__context__" within="" contains="" />
<constraint name="A" within="" contains="" />
<constraint name="logger" minCount="0" maxCount="0" within="" contains="" />
</replaceConfiguration>
(使用对话框右上角工具按钮下的 "Import Template from Clipboard" 操作)