Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea IntelliJ IDEA:如何找到类的所有实例创建?_Intellij Idea_Structural Search - Fatal编程技术网

Intellij idea IntelliJ IDEA:如何找到类的所有实例创建?

Intellij idea IntelliJ IDEA:如何找到类的所有实例创建?,intellij-idea,structural-search,Intellij Idea,Structural Search,如何在代码中找到创建基的所有位置?(即,具有新的A()或新的B()) 更新 为了说明这一点,以上只是一个简单的例子。我对搜索任何类的对象创建感兴趣,包括我不控制的第三方类 您可以创建空的Base默认构造函数,然后按Ctrl+Alt+H(层次结构调用者)。然后你会看到A和B的所有创造物都是一棵树 如果我正确理解了您的最新更新,我通常会做的(IntelliJ 9.0.4),如果我有类似的需要,我会右键单击类名并执行“查找用法”,这将以用法类别的形式列出结果 变量声明 创建新实例,举几个例子 据我

如何在代码中找到创建基的所有位置?(即,具有新的
A()
或新的
B()

更新

为了说明这一点,以上只是一个简单的例子。我对搜索任何类的对象创建感兴趣,包括我不控制的第三方类

您可以创建空的Base默认构造函数,然后按Ctrl+Alt+H(层次结构调用者)。然后你会看到A和B的所有创造物都是一棵树

如果我正确理解了您的最新更新,我通常会做的(IntelliJ 9.0.4),如果我有类似的需要,我会右键单击类名并执行“查找用法”,这将以用法类别的形式列出结果

  • 变量声明
  • 创建新实例,举几个例子
据我所知,我不认为有一个特定的选项/选择来完成这样的使用情况搜索检查。谢谢

使用结构搜索(编辑->查找->结构搜索或Ctrl+Shift+S):

  • 创建模板:
    new$Type$($P$)
  • 编辑类型变量:文本字段中的类型基,选中“在类型层次结构中应用约束”,选中“此变量是搜索的目标”
  • 编辑P变量:键入。*在文本字段中,将最小计数设置为0,在最大计数下选中“无限制”

Find Usages只返回该类实例的创建,而不是该类(或trait)的子类的创建@IttayD在Find Usages下“抽象”类的实例化子类应列在“局部变量声明”下,例如,我尝试了一下,它列出了所有初始化的子类。也许您可以粘贴一些代码,例如您拥有的代码,这些代码没有在“查找用法”下列出。感谢未来的人们-结构搜索只在IntelliJ的最终版本中起作用。从14 EAP开始,它也在社区版中起作用(构建IC-138.2210.3。我不知道它是否会在14的最终版本中被删除。
abstract class Base {}

class A extends Base
class B extends Base