My Daily Drivers
I'm a huge fan of technology, so I'm always looking out for new things to try - but there are some pieces of kit and software that I simply can't do without. You know the kind of things I'm talking about; picture the scene -- your new computer has arrived, and your first TODO
is Install X, Y, Z
.
PHPStorm
I know there are a lot of IDEs out there, but this one - for me - is hands down, the best one that I've used. PHPStorm by JetBrains is available for macOS, Windows and Linux and comes out of the box with support for dozens of languages and file types. On that subject, not only does it support more file types than I've ever used when building a project, but it handles mixtures of languages nicely too. For example - literals in JavaScript. Not only that, but it will check grammar and formatting in things like README
files as well as class names and function/method declarations.
Some of the features of PHPStorm that I find myself using often (if not every time I use it) are;
- Multiple cursors!
- Click-through navigation to quickly run through code and find usages/declarations of methods and variables
- XDebug integration for deeply inspecting the state of an app as its stepping through code.
- "Scratches" to quickly validate, format and read over code.
- Scratches also show previews of files that support such a feature, like SVGs - really helpful for those quick tweaks!
- Finally, out of the box, it comes with support for many frameworks, like ✨ Laravel ✨, WordPress and Symfony.
DataGrip
Another one by JetBrains, DataGrip. As of writing this, DataGrip has recently had the new UI changes released as an option in the settings menu (albeit marked as beta). It's a design I think they've done really nice work with, its still to-the-point as was the previous UI - like PHPStorm - but gives it a breath of fresh air; and like PHPStorm, DataGrip supports multiple cursors, code formatting and some really nice code completion.
iTerm
This one - this one right here. iTerm2 is a replacement terminal for macOS, it offers dozens of features and it works really well. Some of my favourite features are;
- Split pane windows ✨
- Search
- Autocomplete
- Instant Replay
This is by no means an exhaustive list, if you'd like to check out everything that iTerm2 can do, then heres their feature list. I use iTerm with a combination of zsh and Spaceship Prompt.
Paw (Rapid API)
Building, testing and integrating APIs is something I do regularly - sometimes across multiple platforms and environments - this is where I think Paw really shines. With it's own environment manager, you can easily switch between environments you specify with custom variables so you're entire testing suite can be updated with whatever values you specify - and heres the really sweet bit - those values can be dynamic.
What I mean is, say for you're writing a request that makes a call to update some model - so you have your request to "GET" a list of models, you can copy the path to the first returned model in that response as a "dynamic variable", and paste it into your other requests for it to use. Done! It'll fetch whatever data it needs in order to make the request you use them in!
Sublime Text
A lightweight editor - useful for quickly opening small files that don't warrant an entire IDE. Offers support for split panes, directory (project) view, multiple selections - and - plugins. If you find that Sublime doesn't do something you'd need it to do, there are a host of plugins available to extend the functionality of the editor. Probably the most common and most useful one I've come across has to be Package Control.
Honorable Mentions
These are a few of the tools that I have installed that are already pretty well known - nevertheless, I've included them here with links to their websites should you be unfamiliar or wish to refresh your memory!
Final Say
There we have it, the tools that are always first on my list to get installed and configured. One thing I like to think is that the tools I use have a visual aesthetic that matches how well they work - I'm not sure if it's common for others to stop using a tool or look for alternatives if there's a prettier one available, but I know I'm one of those people; although sometimes, I'll admit - it's unavoidable.