Scopes in JetBrains IDEs
Any JetBrains IDE has an amazing feature that can significantly improve your development experience; whether it's PhpStorm, WebStorm, IntelliJ IDEA, PyCharm, or any other project; this feature enables better search and allows for custom file colours.
For example, this is what I'm talking about:
A tree view configured with coloured scopes
These colours allow you to easily recognise files,
and that in turn allow you to think more freely about things that really matter when coding.
First you'll want to configure one or more scopes.
A scope is a set of textual filters that are applied on your files, you can configure them by going to
Settings > Scopes.
You can use the buttons to include and exclude folders and files, or you can write the filters yourself. There's a special syntax to do that, you can read about it described here. Don't forget you can expand the text area for easier configuration:
# File colours
Every scope can be applied a specific colour. This makes it easy to easily spot files.
By applying colours to a scope, you'll see them in the tree view, in file tabs and when using file navigation.
Do you want to learn more about PHP 8.1? There's The Road to PHP 8.1. For the next 10 days, you'll receive a daily email covering a new and exiting feature of PHP 8.1; afterwards you'll be automatically unsubscribed, so no spam or followup. Subscribe now!
# Filtering by scope
Besides colours, scopes also allow for easy filtering. For example, in the tree view:
But also in the finder:
Setting up scopes shouldn't take longer than 10 minutes every project,
and saves a lot of time in the long run.
There's also the possibility to set default options though,
which will be used every every time you create a new project.
File > New Project Settings > Preference for New Projects and configure your default scopes and colours over there, the same way you'd do as explained before.
And just in case you'd need some inspiration, these are my default scopes:
App file:app//*||file:config//*||file:routes//*||file:app||file:config||file:routes||file:src//*||file:src Resources file:resources//*||file:resources Database file:database//*||file:database