Optimizar PHP Storm

JetBrains PHP Storm es un IDE comercial multiplataforma para PHP. Está construido sobre la plataforma IntelliJ IDEA de JetBrains escrita en Java. Por lo tanto, se ejecutará en todos los principales sistemas operativos compatibles con Java.

Hace unas pocas semanas comencé a utilizarlo como IDE principal para desarrollar debido a que en la empresa donde trabajo actualmente lo utilizan y recomiendan mucho. Para mi sorpresa me encuentro muy a gusto y destaco la integración con bases de datos y git. De modo que podemos tener acceso a todo lo necesario para trabajar desde una sola ventana en modo unificado.

Si bien aporta muchas mejoras, todo tiene su precio y estas capacidades extra que aporta PHP Storm hacen también que sea un IDE un poco pesado para las personas que estamos acostumbradas a trabajar con editores de texto como Sublime Text o Visual Studio Code siendo estos últimos bastante más livianos en comparación.

Debido a todo lo anterior, decidí a buscar opciones para optimizar la performance de PHP Storm. Una forma rápida y fácil de acelerar el IDE es hacer que use OpenGL. Para eso debemos editar las opciones de la java virtual machine. Un modo de hacerlo es desde el menú help –> Edit Custom VM Options una vez ahí agregamos:

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

También podemos modificar la cantidad de memoria RAM reservada para PHP Storm. Por ejemplo un mínimo de 500 MB y máximo de 1.5 GB a través de las siguientes opciones:

-Xms500m
-Xmx1500m

Además de las opciones de la VM también existe la opción de configurar propiedades. Esto podemos hacerlo desde el menú help –> Edit Custom Properties y ahí podemos modificar la forma en que se renderiza el texto para que lo haga de forma inmediata, en vez de analizarlo previamente. Agregamos lo siguiente:

editor.zero.latency.typing=true

PHP Storm es un IDE potente, con muchas funciones integradas de forma predeterminada. Entre la enorme lista de complementos que ofrece hay algunas cosas que nunca se utilizan. Deshabilitar estos plugins no utilizados puede ser un comienzo, pero deshabilitar las inspecciones tiene un impacto mucho mayor. En mi caso particular no necesito CoffeeScript ni tampoco Angular. Podemos ver la lista y decidir cuales opciones no necesitamos desde el menú Settings –> Editor –> Inspections.

Y luego de todas estas modificaciones habremos mejorado mucho la performance de PHP Storm, logrando que sea mucho mejor la experiencia al usarlo y convirtiéndose de este modo en nuestro IDE de preferencia.

Ignorar en Git sin repositorio

Es muy habitual que los colaboradores de varios proyectos agreguen la configuración de su editor al archivo .gitignore del repositorio. No es necesario que la configuración de nuestro editor se mezcle con la de nuestros compañeros o sea reemplazada por completo. Para resolver este tema podemos utilizar un archivo .gitignore que no pertenece a ningún repositorio.

En general este archivo suele colocarse en la carpeta home de nuestro usuario.

touch ~/.gitignore

Y como contenido colocamos todas las carpetas que deseamos ignorar siempre. Por ejemplo las configuraciones de vscode y de phpstorm:

.vscode
.idea

Solo queda configurar git para que utilice nuestro archivo .gitignore y lo hacemos del siguiente modo:

git config --global core.excludesfile ~/.gitignore

Y eso es todo, a partir de ahora son ignoradas las carpetas de configuración de nuestros editores.