玩转 PhpStorm 系列(七):小技巧篇
今天,学院君来给大家介绍下 PhpStorm 中三个可以提高日常工作效率的小技巧。
编辑文本
在 PhpStorm 中,我们可以通过锚定多个光标的方式同时编辑多处文本,以下面这段代码为例,我们先将光标移动到要编辑文本的起始位置:
然后按住 Option 键(Windows 系统是 Alt 键),将光标移动到其他要编辑的文本起始位置:
这样就同时选中多处要编辑的文本了,编辑任意一处文本,就可以同时修改其他位置的文本了:
如果要编辑的代码片段很长,要同时编辑的文本位置很多,一直按住 Option 键去移动光标很麻烦,还可以使用 Ctrl + G 快捷键选中下一个要修改的位置进行修改:
分割窗口
在 MVC 模式的 Web 项目开发中,一个请求要历经路由 -> 控制器 -> 模型类 -> 视图才能完成最终渲染并将响应发送给用户,有时候为了调试问题,我们可能需要在控制器、模型类、视图模板之间反复切换,如果可以直接将它们放到一个窗口,岂不是很方便?
在 PhpStorm 中,这可以通过分割窗口的方式实现:
你可以通过导航菜单栏 Windows -> Editor Tabs -> Split Vertically(垂直分割)/Split Horizontally(水平分割)来进行窗口分割:
对于已分割的窗口,可以通过 Unsplit 取消分割。
还可以在打开文件的 Tab 标签页通过右键菜单将该文件分割到指定位置:
非常简单,体验一下就可以快速学会了,PhpStorm 没有为窗口分割提供快捷键,如果需要的话,你可以通过 Preferences | Keymap 界面为其配置:
搜索作用域
我们在代码导航篇中已经详细介绍过如何导航到指定文件、类、方法和属性,但是这种导航是确定导航,即导航到一个具体位置,这个位置可以是文件、类、方法或属性。
有的时候,我们还有这种需求:在指定目录下搜索某个变量、代码片段所有出现的位置,以便进行批量替换或者修改,这种搜索是不确定的,可能出现在多个文件的多个位置。这种搜索可以通过 Find in Path… 操作来完成(对应的快捷键是 Shift + Command + F),比如我们想要在 blog
目录下搜索某个变量,可以这么做(选中该目录,点击右键 -> Find in Path…):
PhpStorm 默认提供了项目(Project)、模块(Module)、目录(Directoy)、作用域(Scope)几个级别的搜索范围(默认是选中目录下进行搜索):
在作用域(Scope)中包含了非常丰富的 PhpStorm 内置搜索作用域(包含所有位置、项目和库文件、控制台、最近浏览/修改文件、打开的文件、当前文件等):
此外,还可以通过新增作用域来自定义搜索作用域(点击作用域下拉框右侧的 … 按钮,在弹出窗口点击左上角 + 按钮):
将自定义作用域命名为「File | Custom」:
接下来,我们在自定义作用域窗口选中要搜索的目录,点击「Include Recursively」(递归包含),就会在 Pattern 输入框自动填充对应的目录模式:
你还可以从指定搜索目录中排除特定目录,比如这里我们排除 vendor
子目录:
对应的 Pattern 目录模式字符串会自动更新。点击「Apply」应用更改,保存自定义作用域配置,点击「OK」关闭该窗口。
指定搜索作用域为自定义的「File | Custom」,就只能在 blog
目录下进行搜索,并且排除了 vendor
库文件:
(全文完)
- 洛谷P3327 [SDOI2015]约数个数和(莫比乌斯反演)
- .Net中的AOP系列之构建一个汽车租赁应用(上)
- Modbus RTU驱动程序开发指引
- freeRTOS任务创建
- 洛谷P4213 Sum(杜教筛)
- JVM活学活用——调优工具
- .Net中的AOP系列之构建一个汽车租赁应用(下)
- Zookeeper学习笔记——2 Shell和Java API的使用
- Java基础巩固——反射
- 手把手教你在树莓派上搭建web服务器
- 安装和搭建基于netcore的demo
- 项目心得:广度遍历搜索部门处理业务
- 使用JAVA开发微信公众平台(一)——环境搭建与开发接入
- BZOJ4805: 欧拉函数求和(杜教筛)
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- php微信公众号开发之二级菜单
- django中的ajax组件教程详解
- php微信公众号开发之校园图书馆
- 查看keras的默认backend实现方式
- Python包和模块的分发详细介绍
- PHP cookie,session的使用与用户自动登录功能实现方法分析
- Python内置方法和属性应用:反射和单例(推荐)
- 使用OpenCV对车道进行实时检测的实现示例代码
- php 读取文件夹下所有图片、文件的实例
- php微信公众号开发之欢迎老朋友
- Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
- PHP使用glob方法遍历文件夹下所有文件的实例
- Python图像阈值化处理及算法比对实例解析
- 浅析Python 条件控制语句
- 浅谈Django前端后端值传递问题