本文来自pilishen.com----原文链接; 欢迎来和pilishen一起学习php&Laravel;学习群:109256050如果你想提高一下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
,禁用掉!
不要担心禁的太多,如果你勾掉一个插件的时候,它又被另外一个插件依赖,它会提示你的;而且,在特定的情境下,当PHPstorm觉得你应该启用一个插件的时候,它也会提示你的。
禁用不必要的插件是第一步,但是禁用代码检查(inspections),往往可能影响更大。找到Settings > Editor > Inspections
,根据自己的情况看看哪些时候其实不需要实时的代码检查
(四)Language injection(其它语言的插入)
有一个插件其实特别影响性能,就是 IntelliLang
. 这个插件支持一种语言在其他的文件格式中也照样能被识别,比如说当你在一个PHP文件中插入HTML,或者用到HTML的代码自动补齐或高亮显示功能时。
当然,并不建议完全禁用掉这个插件,但是呢,可能有些特定的语言插入支持,你并不会用到,这个时候你可以到Settings > Editor > Language Injections
下,把当前项目里不可能用到的第三方语言插入,都勾掉。
(五)排除对特定项目目录的索引
在 Settings > Directories
下可以将特定的目录标记排除,然后PHPstorm就不会索引其中的文件了。建议排除的目录一般是类似cache
、public
、storage
等包含资源编译文件的,当然还有两个大头,就是vendor
和node_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
的文件夹,将多出来的删掉。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。