I have to be honest with you: semantic highlighting for PHP has changed my coding life. I am very much spoiled by it now and you know what, I don’t mind at all. There I said it. I am definitely a code snob now and I am perfectly ok with it. I am also much more efficient with my code since I can visually see the connections between different instances of a variable on the screen, all color coded and sweet looking, but before I get ahead of myself…
What is Semantic Highlighting?
Great question. Let me show you rather than spend a bunch of time explaining it:
In short, “semantic highlighting” color codes variables based on their current instance within a method, function or file (depending on what you are working with). As indicated in my screenshot, all of the $ranges variables are colored the same color green which makes it easier to keep track of that particular variable and it’s updates and changes throughout the code. As you can see also in the screenshot, the other variables are color coded as well. Imagine this kind of visual clarity across your whole PHP project… it’s glorious. 😍
That’s awesome but how do I do it?
Another great question. Here’s how you enable “Semantic Highlighting” for PHP in PhpStorm: (I’ll show you first cuz that is faster)
For those who would rather read…
Open the main Preferences / Settings screen
Choose Editor -> Color Scheme -> PHP in the waterfall menu on the left
Choose “Semantic Highlighting” from the list on the right
Check the “Semantic Highlighting” box on the far right side above the list of colors
That’s it! You’re done. Wasn’t that easy-peasy?
Now, with semantic highlighting enabled, you can enjoy a next level of awesomeness as your code takes on a whole new color-full (see what I did there 😉) life.
Development is ongoing and the items below are what I am planning for the next release, v1.2:
Add a sunburst chart generator
Add a class for handling color processing for all charts and graphs
Add a class for handling tooltips for all charts and graphs
Additional code cleanup both the js and PHP
If you have a feature, graph or chart you would like to see included in an upcoming release, please feel free to contact me about it or just submit a PR with it. This is an open project and your contributions are always welcome. 🙂
As always, please feel free to leave a comment below and enjoy the updated library.