问题标签 [structural-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
598 浏览

java - 如何在 IDEA 中创建结构替换以向类添加缺少的注释

我试图在 IntelliJ IDEA(未来检查)中找出一个结构替换模板,用于在不删除任何其他现有注释的情况下向类/接口/枚举添加缺少的注释。

到目前为止,我尝试了以下几种

搜索模板:

替换模板:

但我的尝试都没有奏效。我希望它能够工作

  • 使用任何现有的类注释集,并且还必须保留它们的潜在值,
  • 如果类上根本没有注释,
  • 在理念 14 和理念 15 中,
  • 还应该保持课堂内容不变。

因此,例如以下

应该替换为

有人可以建议吗?

0 投票
1 回答
198 浏览

java - IntelliJ 结构搜索泛型

也许我不明白 IntelliJs 的结构搜索不是。

我想找到与以下示例模式匹配的所有出现:

我不工作的方法是

结构搜索是否找到它以及如何找到它?

0 投票
1 回答
479 浏览

java - Intellij 结构搜索非最终版本

使用Copy existing template...我找到了循环的结构搜索:

我想增强它,使它只找到变量不是最终的循环。

它应该找到:

然而不是:

现在它显然找到了两者,因为最终和非最终之间没有区别。我怎样才能添加这个额外的检查?

0 投票
1 回答
310 浏览

java - 在 IntelliJ IDEA 中查找结构性捕获块

我需要catch在 Java 代码中找到所有带有单字母 catch 参数的块,例如:

我尝试了以下模式,但它不起作用:

0 投票
2 回答
1142 浏览

android-studio - 如何使用 Intellij 搜索和替换模式消除“新行大括号”?

我正在尝试使用以下搜索和替换模板查找大括号在新行中写入的所有 if 语句:

搜索模板:

替换模板:

如果模板引擎不区分两个模板,我将面临的问题。它让我可以用正确的模板替换搜索模板,但它也会将“正确”的模板检测为错误模板。

有没有办法使用某种正则表达式来解决这个问题?

编辑:在 Android Studio 上工作。我正在尝试为我的公司代码样式约定生成一组 lint 规则,这些规则将显示为警告或错误

0 投票
1 回答
248 浏览

java - XML 属性中的 Intellij 正则表达式搜索

我正在使用 Intellij,我想搜索 XML 属性。

例如这个 XML 行:

我想在我的项目中搜索此行的任何其他实例:

我尝试使用这个正则表达式:src="\W"但没有找到结果。

任何帮助appriciated。

0 投票
1 回答
144 浏览

intellij-idea - 结构搜索 Intellij IDEA:如何查找扩展另一个类的所有类的出现

有没有办法搜索特定类的子类的所有出现?

假设我有一堂课AbstractItem,并且我有很多此类的实现AbstractItem。现在我想知道所有子类在哪里使用。

我可以在 Intellij IDEA 中使用结构搜索模式搜索所有子类的所有出现吗?

谢谢,德特勒夫

0 投票
1 回答
205 浏览

intellij-idea - 如何在 Intellij IDEA Structural Replace 中排除代码块

我正在基于结构替换创建自己的检查。例如,我想检查转换代码,例如:

进入

但我不希望它对以下代码做出反应:

我试着用

带有选项文本“else”,但它不起作用。

是否可以?此外,我必须以相同的替换结果进行两次不同的检查。我们可以使用多个搜索模式吗?

更新

我尝试替换下一个模式

进入

但更换后我得到:

是否可以删除“;” 从替换结果?

0 投票
1 回答
207 浏览

java - IntelliJ 结构搜索:在测试中尝试 Catch

我最近从 Eclipse 切换到 IntelliJ Idea,我对这种变化感到非常满意。但是,我不知道如何编写自己的结构搜索模板

我想识别所有包含try ... catch ... finally块的测试方法以删除它们。替换模板是第二个目标,首先我想了解如何找到它们。

我尝试使用现有的 Idea 模板来查找@Test使用此模板进行注释的所有方法,稍作修改:

我还使用了一个预定义的模板来查找所有try ... catch块,我添加了finally检测:

但我不知道如何进一步混合这两个模板以找到所有包含块的测试方法。try ... catch ... finally

以下是我想用它找到的“坏测试”和不应该与结构模板匹配的“好测试”的例子:

各位大神可以给点线索吗?

最好的祝福,

朱利安。

0 投票
2 回答
2590 浏览

java - 使用 IntelliJ 结构搜索将字段及其表达式替换为新字段

我想使用 Android 版 ButterKnife。我需要根据代码中其他地方的一些表达式来注释一些字段。我有这样的代码

我要这个

在结果中,表达式消失了,并且该字段基于旧表达式进行了注释。

在 IntelliJ 的结构替换中是否可以进行这种搜索和替换?当感兴趣的线不相邻并且在结构上位于不同的位置时,它似乎不能很好地处理这种情况。我尝试将它基于类模板,并使用 $Statement$ (0-无限次出现),但它对我不起作用。

我意识到使用正则表达式实际上相对简单,当然比让 IntelliJ 结构搜索玩球要简单得多,但我喜欢学习我的工具,所以我仍然想知道这是否可能。