IntelliJ IDEA在项目中查找使用
IntelliJ IDEA 提供不同的查找选项,这取决于您是否正在查找类、方法、字段、参数或 throw 语句的使用,并将查找使用扩展到受支持的语言中的文件。例如,在 CSS、XML 和 HTML 文件中,您可以查找样式、类、标签和属性的用法。
也可以将查找用法扩展到 Cucumber 步骤定义。
在 "查找工具" 窗口中浏览查找结果。
在项目中找到符号的使用
- 选择一个符号以查找它的使用。要做到这一点,请将插入符号放在编辑器中的所需符号内,或单击 "项目" 工具窗口中的符号。您也可以在 UML 类图中选择符号。
- 执行以下操作之一:在主菜单上选择:编辑| 查找| 查找使用(Edit | Find | Find Usages)选择。在上下文菜单中选择 "查找使用"。按 Alt+F7。
- 在查找工具窗口中,浏览查找结果。使用按钮可以通过使用类型表示有意义的组中的搜索结果。
在分析查找结果的同时,您可以随时打开查找选项对话框中,方法是单击 "查找工具" 窗口中的或按 Ctrl+Shift+Alt+F7。
查找实现和重写方法的使用
在 PHP 上下文中,IntelliJ IDEA 还将 "查找使用(Finding Usages)" 功能应用于已实现和重写的方法。请考虑以下示例:
- 创建一个接口,一个实现它的抽象类,以及两个扩展抽象类的类:使用 foo () 方法创建接口 MyInterface。创建一个实现 MyInterface 的抽象类 MyAbstractClass。创建一个扩展 MyAbstractClass 并实现接口所需的 foo () 方法的类 MyClass,并重写父类的方法。创建一个类 MyClassWithDelegate, 它使用委托扩展 MyClass 并实现 foo ()。创建分别从 MyClass 和 MyClassWithDelegate 调用 foo () 的变量 $b 和 $c :
<?php interface MyInterface { //press Alt-F7 on foo() here public function foo(); } abstract class MyAbstractClass implements MyInterface { public function foo () { // TODO: Implement foo() method. } } class MyClass extends MyAbstractClass { public function foo() { parent::foo(); // TODO: Change the automatically generated stub echo "foo"; } } class MyClassWithDelegate extends MyClass { public function foo() { foo(); } } $b = new MyClass(); $b->foo(); $c = new MyClassWithDelegate(); $c->foo();
- 从 MyInterface,通过按 Alt+F7 为 foo() 调用查找使用(Finding Usages)或者在主菜单中选择编辑| 查找| 查找用法(Edit | Find | Find Usages)。默认情况下,IntelliJ IDEA 只向超级方法和方法调用显示委托:
- 如果要查找实现或重写基方法的方法,请单击 "查找" 工具窗口中的。然后在查找使用中打开方法选项对话框,选择“包括重载方法”复选框并单击“查找”。因此,该 foo() 方法的所有用法都可以在实现或扩展 MyInterface 的所有类中找到: