问题标签 [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 回答
3162 浏览

intellij-idea - How can I use Intellij Structural Search to find all methods that use two named classes?

Say I have two Java classes, TradeType and InstrumentType. I know that somewhere in my codebase there is a method that maps from TradeType to InstrumentType.

How can I use Structural Search in Intellij to say

"find me all methods that have a single parameter of type TradeType and which return InstrumentType"

0 投票
1 回答
977 浏览

java - 使用 IntelliJ IDEA 结构搜索获取注解参数

我正在尝试使用@Table带有结构搜索和替换的注释中指定的表名为 JPA 实体生成命名查询。

所以首先我正在尝试以下模板:

我有很多课程,例如:

如果我用相同的模板替换,它会正确地抓住 $param$ is name, $clazz$ 是正确的类名,但 $value$ 是空的。

我正在使用 IDEA 12 build 128.101

我究竟做错了什么?谢谢你。

0 投票
1 回答
449 浏览

c# - 有没有办法制定更清晰的规则来阻止 ref & out 参数?

认为ref&参数会out损害代码的可读性。在大多数情况下,可以使用泛型和可为空的类型替换它们。

当有人试图定义一个具有 ref 或 out 参数的函数时,我想让 resharper 发出警告。但是,我所能找到的只是一种重构声明为使用 out 参数的方法的方法。似乎没有任何现有的检查或方法来编写针对 ref 和 out 参数的自定义模式。

这是 out 参数的常见用法:

将其与此进行比较:

TryParse 只是字符串的扩展方法。我有一个自定义的 resharper 规则,它强调任何 ValueType.TryParse() 调用。请注意,现在可以将字符串解析为 linq 表达式的一部分。

0 投票
2 回答
170 浏览

c# - .First([With condition]) 忽略 .First() 的 ReSharper 搜索模式

正如标题所述,有没有办法使用 ReSharper 搜索模式来查找包含条件的 .First() 的所有实例,而忽略 .First()?

此搜索的动机是回答
为什么 LINQ .Where(predicate).First() 比 .First(predicate) 快这个问题?

我们想看看我们在条件下使用了多少次 First()。搜索将扩展到查找 .FirstOrDefault()。

0 投票
1 回答
865 浏览

intellij-idea - 如何使用结构搜索来查找给定类型的子类的构造函数调用?

我有一个名为“com.foo.BaseFoo”的抽象类

我想找到在从 BaseFoo 扩展的任何东西上调用 new() 的人

我试过做一个搜索模板:

然后编辑变量以对要成为的对象的类型进行表达式约束

并单击“在类型层次结构中应用约束”,但这没有用。

0 投票
1 回答
113 浏览

java - IntelliJ 12.1 社区:结构搜索……不存在吗?

我只是在任何地方都找不到这个选项(使用 IntelliJ 12.1.4 社区)。尽管进行了激烈的谷歌搜索,但我找不到任何关于此功能被删除、仅作为 Ultimate 或任何内容的信息。

编辑 > 查找应该有一个“结构搜索”选项。它不在那里。

检查还意味着可以选择制作结构模板(请参阅http://www.jetbrains.com/idea/webhelp/creating-own-inspections.html

“在检查列表中,展开常规节点并选中结构搜索检查项旁边的复选框。这将启用选项区域中的控件,您可以在其中配置自定义检查。”

那也不存在。任何建议,有人吗?

0 投票
1 回答
208 浏览

intellij-idea - Intellj Idea 重构用另一个接口替换一个接口

我发现了2个类似的界面。我想通过 1 次单击(重构)将一个界面的所有用法替换为另一个界面。重构更安全,因为它知道上下文变化而不是普通的正则表达式替换。

但我在 IntelliJ Idea 中找不到合适的重构。

0 投票
1 回答
1175 浏览

java - 如何使用 IDEA 的结构搜索来查找缺少某些注释的字段?

我有课AB看起来像这样:

我需要找到没有注释的字段@Column 我不能使用纯正则表达式,因为我只需要查看class A层次结构中的类。

我从搜索开始

其中$annotation$"Column" ("Invert condition" = true, "Whole words only" = true),但它与字段的formula注释匹配@Formula

注释名称只是一个例子(这种情况不是一个常见的问题,可以通过在 IDEA 中的一些检查来解决)。

也许你有想法如何做到这一点?

0 投票
0 回答
73 浏览

c# - 使用 Resharper 结构替换提取表达式类型

我正在尝试进行 R# 结构搜索和替换以提供以下内容

如果用户选择重构,则应转换为以下内容

所以在 R# 中我会尝试这种模式

和替换

$type$但是我不知道如何分配

从理论上讲,它应该可以工作,因为我可以限制$expr$为类型IEnumerable<T>,但我没有$T$可用作替换令牌。

这有可能吗?

0 投票
1 回答
480 浏览

intellij-idea - Intellij 结构搜索参数类型和实际类型

想象一下,我想搜索具有任意数量参数的所有方法,这些参数接受为其中一个集合,但通过传递一个列表来调用。例子:

  • void test1(集合 x)
  • void test2(A a, 集合 x)
  • void test3(集合 x,B b)
  • void test4(列表 x, B b)

我有:

  • test1(myList) # 匹配
  • test1(aCollection) # 不匹配
  • test2(xxx, myList) # 匹配
  • test3(myList, xxx) # 匹配
  • test4(myList, xxx) # 不匹配,因为我正在寻找对接收集合的方法的调用,并且我们传递了一个列表。

有没有办法使用结构搜索?