如果你想提高一下PHPstorm的使用技巧,尤其是快捷键什么的,可以戳这里《大牛们的PHPstorm使用技巧和建议》

一、phpstorm的提速设置

关于ps的performance,说多了都是泪,还是直奔主题吧~

(一)Java VM options

PHPStorm依赖java运行环境,说白了也就是java虚拟机,找到help > Edit Custom VM Options,然后在这个文件里可以根据需要增加或减少PHPstorm使用的内存

-Xms500m
-Xmx1500m

-Dawt.useSystemAAFontSettings=lcd
-Dawt.java2d.opengl=true

# 这一条只适合于Mac, 可以使java调用优化过的图形引擎
-Dapple.awt.graphics.UseQuartz=true

当然这里还有其他的一些设置,你可以网上搜搜别人都是怎么设置的,然后相应地自行探索

(二)自定义properties

进入help > Edit Custom Properties来设置PHPStorm的自定义属性.

editor.zero.latency.typing=true

上面这条,改变的是PHPstorm如何渲染字体:立即渲染文字,而不是先进行内容分析。可能会因此导致偶尔有那么一瞬间文字都是不带样式的,但是整体上会顺畅很多。

(三)Inspections and plugins(检查和插件)

PHPstorm的一大问题就是太强大了,默认加了很多功能,而我们可能平时根本用不到。

找到preferences -> plugins,把我们根本用不到的很多插件plugin,禁用掉!

file

不要担心禁的太多,如果你勾掉一个插件的时候,它又被另外一个插件依赖,它会提示你的;而且,在特定的情境下,当PHPstorm觉得你应该启用一个插件的时候,它也会提示你的。

禁用不必要的插件是第一步,但是禁用代码检查(inspections),往往可能影响更大。找到Settings > Editor > Inspections,根据自己的情况看看哪些时候其实不需要实时的代码检查

(四)Language injection(其它语言的插入)

有一个插件其实特别影响性能,就是IntelliLang. 这个插件支持一种语言在其他的文件格式中也照样能被识别,比如说当你在一个PHP文件中插入HTML,或者用到HTML的代码自动补齐或高亮显示功能时。

当然,并不建议完全禁用掉这个插件,但是呢,可能有些特定的语言插入支持,你并不会用到,这个时候你可以到Settings > Editor > Language Injections下,把当前项目里不可能用到的第三方语言插入,都勾掉。

(五)排除对特定项目目录的索引

Settings > Directories 下可以将特定的目录标记排除,然后PHPstorm就不会索引其中的文件了。建议排除的目录一般是类似cachepublicstorage等包含资源编译文件的,当然还有两个大头,就是vendornode_modules目录。

vendor目录的问题

排除掉vendor目录,意味着就不能基于那里面的组件进行自动补全(auto-complete)了,所以这可能不是个好主意。但是呢,有个小技巧就是,你可以整体上排除掉vendor目录,然后在Settings > Languages & Frameworks > PHP下,将你真正用到的组件目录给额外添加上。

关于Node modules目录

Node modules目录实际上默认已经被排除掉了,但是呢,在 Settings > Languages & Frameworks > JavaScript > Libraries下,你会看到,它们又被额外引入进来了,假设说你写js不是那么多,你也可以在这里将其完全排除掉。当然这些呢,都是基于项目的,你可以在不同的项目作不同的选择。

二、删除之前版本的phpstorm缓存文件夹

经常,每次你更新了PHPstorm,它就会创建一个新的cache文件,而不会自动删除你上一个版本的cache文件夹,这往往会占用大量的系统盘空间,如果你用了某一个版本的PHPstorm很长时间,这个文件夹一般都是好几GB。

在Mac上,你可以查找类似‘PhpStorm2016.x’~/Library/Caches的文件夹,然后删除它;

在windows上,在你的当前用户目录查找类似.WebIde的文件夹,将多出来的删掉。

三、phpstorm不断重新索引(re-index)的问题

在新近版本的PS上,这里一般指2018以后的版本,你可能会发现PS老是自动地不断重新索引,在右下角会出现indexing的状态条,导致你编辑文件的操作很容易被打断,或者说PS的各种方便的提示、补全功能会因此而暂停,遇到这个问题,可以尝试如下解决:

  1. 重建缓存: File > Invalidate Caches/Restart,也即重新生成缓存,然后重启,一般此问题会解决

  2. 如果第一步没解决问题,那么到plugin中禁用掉.ignore插件,该插件存在的bug也会导致此问题 file 重启后观察解决情况

参考文献:

  1. phpstorm-performance
  2. a-few-quick-tips-to-make-phpstorm-faster