php首页快捷导航代码,玩转 PhpStorm 系列(二):通过快捷键实现代码全局导航和上下文导航...

玩转 PhpStorm 系列(二):通过快捷键实现代码全局导航和上下文导航

由 学院君 创建于8个月前, 最后更新于 4个月前

版本号 #5

2361 views

0 likes

0 collects

概述

在日常使用代码编辑器的过程中,频率非常高的一个需求就是能够快速全局导航到指定类、文件、方法、行,在 PhpStorm 中可以通过两种方式来实现这种导航。

一种是在菜单栏中点击 Navigate,然后在下拉框选择对应的全局导航,Class 代表类、File 代表文件、Symbol 代表符号/标记(可用于导航到指定变量、方法)、Line 代表行(需要在特定文件中操作)。

ba18c61cf086418f12be00991e33eeb5.png

另一种是通过快捷键,上面的菜单栏下拉框导航选项右侧已经标注了对应的快捷键,下面我们就可以快捷键为例在 Mac 系统中进行演示(Windows 操作类似,就是快捷键有差异)。

导航到类、接口、Trait

打开一个新安装的最新版 Laravel 项目,以自带的 User 类为例,要导航到这个类,可以通过快捷键 Command + O 打开导航窗口,在输入框输入 User 进行类名的全局模糊匹配,然后在下拉选项中选中要导航的类:

50245aa47052a354a9444848b75f93f2.png

就会打开包含 User 类的文件了:

9f0ead91f0620c1d9dc286e30d8d13ec.png

导航到其他类也是一样,这里不重复演示了。除了项目代码,还可以导航到 Composer 管理的 vendor 库中的所有第三方扩展包代码,比如我们想要查看 User 的父类 Model:

0f3dce8ae25a13b295dff6f475a9f955.png

另外,导航到指定接口和 Trait 共用了导航到指定类的功能,比如我们在类导航输入框中输入 Authenticatable,则会列出对应的接口和 Trait:

60ab1db0be577e64e57c3e3c5dcbae32.png

导航到文件

在遵循 PSR-4 自动加载规范的现代 PHP 项目中,类名和文件名是一致的,所以导航到类也就意味着导航到了对应的文件,但对于一些不包含任何类的 PHP 文件,还是需要通过导航到文件功能进行跳转,比如应用初始化/启动文件、配置文件、路由文件以及定义 PHP 辅助函数的文件等。

我们可以通过快捷键 Shift + Command + P 文件打开导航到文件的操作界面,假设我们想要打开 Laravel 项目的数据库配置文件,可以在输入框输入 database 进行文件名的全局模糊匹配,然后在下拉框选中我们期望打开的文件:

334460a41c16fefcaa2fd30200215635.png

即可跳转到对应的 database.php 配置文件:

39cd21cec340634bcece5d383516cf81.png

如果想要打开定义 Laravel 自带辅助函数的 helpers.php 文件,操作方法完全一样,只需在导航输入框中输入对应文件名即可:

8bc64839c68988f421ce4a70baa54777.png

导航到属性、方法

除了类名和文件之外,PhpStorm 还支持更细粒度的 PHP 属性和方法导航,我们通过快捷键 Option + Command + O 打开对应的导航操作界面,假设我们想要在应用代码的 Kernel 类中新增一个全局中间件,可以在输入框输入 middleware 跳转到到这个属性中进行设置:

88c4c1279322c7ffc20643428a4f4633.png

48d6a145311e75957a4bdff9f6cb1991.png

该方法也适用于变量名的全局导航:

c475d14200da1eb0f32d143fe4c53cd2.png

导航到指定的类/Trait成员方法或者独立的 PHP 函数也是在同一个操作界面操作,比如我们想要查看 Laravel 自带的分页方法底层是如何实现的,可以在输入框输入 paginate,然后选择我们想要查看的方法实现即可:

98c7d39b6bb7ae1a13f202c0d1a66490.png

再比如,我们想要查看 Laravel 自带的 view 函数是如何实现的,在输入框输入 view 并选中要导航的方法即可:

f268751fcbf0df7068ba6a76452aa9eb.png

跳转到行、列

最后,在已打开的当前文件中,可以通过 Command + L 打开行列导航操作界面,输入要导航到的行号、列号即可,其中行和列通过「行号:列号」进行区分和解析:

75e47d54009465174811131ae0372cbf.png

列号一般不设置,默认值为 1。

在图形化 UI 界面中,通常跳转到指定行、列的需求不大,我们可以通过鼠标和触摸屏快速定位到指定位置。

汇总导航

针对类、文件、属性、方法的导航,除了通过上述方式使用各自独立的快捷键和操作界面进行导航外,在 PhpStorm 中,还可以通过 Shift + Shift 快捷键(连按两次 Shift 键)打开汇总导航操作界面(对应的功能叫做 Search Everywhere),一次输入,就可以全局匹配出所有相关的类、文件、属性、方法:

4af41265c820a1b40e6abf957bdd9ad9.png

是不是非常方便?之所以叫做「Search Everywhere」,是因为除了这些导航功能之外,还可以通过 Actions 对 PhpStorm 系统设置进行快速定位(这个我们后面会单独介绍),换言之,你想要搜索的一切都可以通过这个输入框完成,也正因为这个原因,该功能对应的快捷键才能位于 PhpStorm 默认开机界面的榜首:

05eae022adc62f95ced5a19108fa2a9c.png

日常我们要做任何操作,不管是找文件、找代码,还是进行系统设置,都可以通过 Shift + Shift 呼出导航界面进行快速跳转,它会成为你日常使用 PhpStorm 最频繁的快捷键操作。

上下文导航

以上导航都是全局导航,如果是在某一段具体的代码片段中,我们想要进行上下文导航,以 User 模型类的 posts 方法为例:

public function posts()

{

return $this->hasMany(Post::class, 'user_id');

}

如果我们想要查看 hasMany 方法对应的实现代码,可以按住 Command 键(Windows 下对应的是 Ctrl 键),然后鼠标/触摸屏点击 hasMany 方法,即可跳转到对应的方法实现代码:

2eabca2456295363d5c0ba8e820ac4d0.png

看完之后,想要快速切换回调用它的 posts 方法,通过快捷键 Command + [(切到操作序列中上一步代码的位置)即可,如果想再看看 hasMany 方法实现,通过 Command + ](切到操作序列中下一步代码的位置)即可快速切换。

(全文完)

本系列教程会录制视频演示并发布到学院君微信视频号,欢迎扫码关注:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值