问题标签 [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 投票
2 回答
373 浏览

php - PhpStorm 中的 IntelliJ 结构搜索以查找具有特定返回类型的方法

如何在我的示例中使用PhpStorm 的 Structural Search找到具有返回类型的方法fooboolean

我尝试了以下搜索模板

我在哪里可以了解有关这些代码/搜索模板的更多信息?

0 投票
1 回答
124 浏览

java - 用对变量arity方法的单个调用替换许多类似的方法调用

我有一大堆这样的方法调用:

但是Thing该类有一个等效的doManyThings方法,因此可以将其重写为:

在 intellij 中进行这种重构的正确方法是什么?

我一直在使用结构替换来做:

  • 替换$t$.doOneThing($a$); $t$.doOneThing($b$);$t$.doManyThings($a$, $b$);
  • $t$.doManyThings($a$); $t$.doOneThing($b$);($a$具有无限重数)替换为$t$.doManyThings($a$, $b$);
  • $t$.doManyThings($a$); $t$.doManyThings($b$);($a$$b$具有无限重数) 替换为$t$.doManyThings($a$, $b$);

我必须一遍又一遍地做最后一步,因为它合并了成对的匹配语句,所以这只是将doManyThings每次调用的次数减半,并且需要执行几次才能将它们全部合并。

这感觉比它应该的更难 - 请你能指出实现这一目标的超级明显的更好方法吗?:)

0 投票
1 回答
301 浏览

java - Intellij 替换所有出现的 stringbuilder.toString()

我想找到属于 StringBuilder 的所有 toString 方法的出现:

并将其替换为:

当然 var "sb" 并不总是以同样的方式写成 :-)

我尝试了 IntelliJ Ultimate 结构搜索和替换。但是我找不到只获取 StringBuilder 类的 toString 的方法。

非常感谢。

0 投票
2 回答
140 浏览

java - 如何在 IDE 中轻松查找/搜索(特别是在 IntelliJ 中),哪些方法返回 int 类型并在 java 中将字符串作为参数?

所以如果我输入关键字.. return type:int, parameter:String (类似这样) 它会显示结果,例如 void int Integer.parseInt(String)

希望我能解释我在找什么。

0 投票
1 回答
161 浏览

java - Intellij 结构搜索和替换所有形式的 if 语句

我写了这样的搜索:

和这样的替换:

当我运行它时,它会找到具有if { foo } else { bar}结构的代码。我对此很好,但问题是else { bar }如果我更换它会移除部件。我希望这个搜索/替换能够合理地处理带有 else、多个 else-if 或这些的任何混合的 if 语句。有没有办法通过一次搜索和替换来做到这一点?

我尝试if在搜索中更改为 else 并解决了问题,但随后它跳过了只有 if 而没有 else 的代码。

0 投票
1 回答
193 浏览

javascript - 双引号的自定义检查

我们的代码标准要求 javascript 代码中的所有字符串都使用单引号而不是双引号。不幸的是,IntelliJ Idea 默认没有这样的检查。我试图搜索并遵循官方指南,但不清楚如何做到这一点。我还检查了几个关于结构搜索的例子,比如

但我不明白如何检查双引号。

如何为 IntelliJ Idea 创建自定义检查,以便双引号字符串会给我一个警告?

0 投票
1 回答
223 浏览

java - 如何查找带有尾随注释的所有字段

我使用 IntelliJ IDEA,它有一个非常棒的特性,叫做结构搜索。我想用它来查找所有类中最后有注释的所有字段,如下所示:

到目前为止,我尝试过的任何方法似乎都不起作用。

0 投票
2 回答
572 浏览

java - 如何在结构上替换 IntelliJ 中注释的一个参数的值

我有注释的类, @SequenceGenerator(name = "seq_gen",/*other_parameters*/) 我需要在每个类中"seq_gen"替换。"$Class$_seq_gen"

我试过跟随。

搜索

替代品

当我运行更换时,/*other_parameters*/零件会被移除。

我也试过

搜索

替代品

作为目标,$VALUE$它现在不会删除任何内容,而是替换_seq_gen为好像$Class$没有定义一样。

我怎样才能做到这一点?SSR 的文档非常混乱且不详细。


我通过在 SO 上的搜索找到了这个问题,但它没有实际的答案,实际上是关于数组的问题。用 IntelliJ IDEA 的结构替换替换注释参数之一

0 投票
2 回答
116 浏览

php - PhpStorm 无法进行结构替换

如何用 PhpStorm 进行结构替换?

我正在尝试mysql_使用新mysqli类更新过时的功能。

我的搜索模板:

我的替换模板:

还给我

错误“不支持的替换模式..”

将我的搜索模板更改为

奇怪地解决了这个问题。给我这个

No template '$dates$ = mysql_fetch_array($quere$))' found in All Places

有人可以解释我做错了什么吗?

0 投票
1 回答
45 浏览

android-studio - Android Studio 结构搜索代码中的所有 Toast 语句

如何在 Android Studio 中使用结构搜索功能并搜索类似于

我尝试了以下方法,但它与任何 toast 语句都不匹配

$方法$($参数$)

其中 Method = Toast.makeText 和 $parameter 是 .* 并且出现次数最多为 4