这里分享一些大牛们的PHPstorm使用技巧和建议,不定期整理更新;关于提高PHPstorm的性能,降低不必要的资源消耗,我们还有一篇专门的文章:《PHPstorm 优化、设置与提速篇》

laravel news创始人Eric L. Barnes


(一) 自定义快捷键(Keymap)

在使用PHPstorm之前,我们往往来自于其他IDE的背景,尤其是比如说sublimeText,可能已经习惯了sublime下的各种快捷键操作,到了PHPstorm以后,也完全可以自定义快捷键(Settings > Keymap),跟以前的习惯保持一致。

Ctrl-p– 全局搜索(Search Everywhere)

Ctrl-r – 方法列出与查找(在PHPstorm里叫File Structure,默认是ctrl+F12

Alt-Ctrl-p – 切换项目(Switch Projects)

Ctrl-3 – 打开集成的命令行窗口(Open the integrated terminal)

编者按:起码前两个更改是很有必要的

(二) 偏好设置方面(Preferences)

  1. 同样的,在sublime Text下,当我们选择了一个词后,再按单引号或双引号,就会将我们之前选中的单词用引号括起来,但在PHPstorm下则会直接给我们用引号给覆盖掉选中的内容了,要改成sublime那样,Mac下这样开启:Preferences -> IDE -> Editor -> Smart Keys -> Surround Selection on typing quote or brace,windows下依次是Settings -> Editor -> General -> Smart Keys -> Surround Selection on typing quote or brace
  2. 搭建起 Laravel live templates for PhpStorm,当你想不起一个laravel的方法具体怎么写的时候,可以写个大概,然后ctrl+J,就会有跳出的窗口供你选择所有的相关方法,比如类似这样的:

file

具体怎么使用大家看github页面的文档即可

(三) 根据自己的需要改善一下工作流程

因为laravel news这个站点背后基于的是wordpress,并不是laravel,所以Eric L. Barnes的基本工作流程是:

打开项目,启动集成的命令行,执行grunt watch,然后隐藏掉命令行开始实际敲代码,期间他会使用内置的版本控制功能,然后借助PHPstorm的任务管理功能(tasks)来追踪Github上的issues以及Trello上的待办事项。打开文件,查找,定位用处,跳到声明位置,不一而足。下面是他最常用到的功能列表(Help -> Productivity Guide下可以查看你自己的)

file

根据这个表,根据PHPstorm的提示,我们可以有选择地将自己的效率提升到下一个level。其实PHPstorm的很多功能不是我们不想用,而是经常根本找不到在哪里,或者根本就不知道还有某个功能~

Nithin Meppurathu


  1. 选中一段内容后,然后ALT+CMD+M就可以基于选中创建一个方法(method)
  2. Refactor -> Extract -> Interface,基于class来生成一个interface

Laracasts的Jeffrey Way


Command/Control+Shift+Backspace,跳到上一次你编辑的地方

Abhimanyu Sharma


  1. Ctrl+Alt+L 来格式化代码
  2. 推荐使用Source code Pro这个代码字体
  3. 可以使用[Key Promoter](//plugins.jetbrains.com/plugin/1003-key-promoter)这个插件来进行快捷键的实时提示

Kennon Bickhart


CTRL+OPT+I ,对当前行进行自动缩进.

Gareth Evans


在PHPstorm里通过内置的ssh功能连接远程服务器非常有用,就像我们常用的putty工具一样,也可以用来连接和管理我们本地的vagrant虚拟机

Patrick Noonan


把鼠标指针放到一个function或者class的名字上,然后command+B可以跳到它的声明处。(编者按:我们也可以直接按着ctrl然后单击这个名字跳过去

Pilishen(霹雳神)


  1. 在sublime里,我喜欢用ctrl+D来选中一个词,然后多按几下,可以选中该文档内其他行的这个词,在PHPstorm里有点不一样,默认我们可以通过ctrl+W来选中当前鼠标所在的那个词,但是再多按几次的话,它并不会在该文档中继续查找和多选该单词,而是基于该词逐渐往外扩大选区,比如说第二下可能选中了一整行,第三下就选中了整个method,这个快捷键我也改成了更习惯的ctrl+D
  2. 另一个很常用的命令就是删除一整行,在sublime里我们知道快捷键是ctrl+shift+K,在PHPstorm里默认是啥就不管了,我也是改成了sublime时代的ctrl+shift+K
  3. 与删除一整行类似的,就是挪动一整行,尤其当我们只是需要将当前一行向上或者向下小范围移动时,这个的快捷键是ctrl+shift+upctrl+shift+down
  4. 在sublime时代,要创建一个method,只需要输入function开头几个字母,然后Tab或回车就补全了,在PHPstorm里默认不行,你得输入pubf然后回车才行,pubf也就是public function的简写
  5. 经常呢,我发现自己看源码比写代码还要多,比如说我们一起探究laravel的底层源码,这期间你就需要来回跳来跳去,可能看着一个方法的源码,然后期间遇到个别的引用,就又突然跳到其他地方,然后看完了以后,又需要回到之前的位置,甚至来回前后跳几次,这时候ctrl+alt+left arrow可以跳到之前一处,ctrl+alt+right arrow可以跳到下一处,这就是我们在《Laravel底层核心技术实战揭秘》里随时用到的
  6. 跳到下一个方法是Alt+Down,上一个方法是Alt+Up

参考文献

phpstorm-tips-and-tricks