← back to articles

9 Development Workflow Upgrades You Should Know About

Save article ToRead Archive Delete · Log out

7 min read · View original · sitepoint.com

Every once in a while I run into a tool or plugin so useful I can’t not add it to my arsenal. I usually shout out tweets and try to spread the word that way, but this time I believe I’ve got such a neat (and somewhat random) collection of productivity boosting entries, they deserve a collective article.

Tips and Tricks intro image

Here are 9 new upgrades to your development workflow:

1. git-fresh

git-freshkeeps your repo fresh”. It offers a super handy set of shortcuts for some very useful git commands and combinations – it’ll prune remote branches, rebase, do merges or resets of your workspace, even stash changes effectively so you can easily push or switch branches without committing the latest changes.

It only supports Linux and OS X but since we’re big on Homestead Improved anyway, it’s all Linux for us. In fact, we’re thinking about adding this to the default Homestead Improved installation, so it’s available out of the box. Thoughts?

2. git-extras

git-extras, owned by the mythical TJ Holowaychuk, similarly extends Git’s functionality with incredibly useful additional commands. It’s a pretty old addon, but I’ve only just discovered it and I’m sure there are more of you who might find it rather handy. Examples of new commands include:

See full list here.

3. Composer changelogs

composer-changelogs is a Composer plugin for displaying richer information with appropriate links when the dependencies of a project are updated. Rather useful for changelogs!

Composer changelogs gif

4. Dotfiles

mislav/dotfiles is a brilliant collection of various bash scripts and dotfiles (files starting with .) that add aliases and other useful features to your environment. For example, for directory tree listing it’ll add:

alias l="ls -lah"
alias ll="ls -l"
alias la='ls -A'

and then there are vim setups, PATH consolidation, nginx server script generation and more.

5. PhpStorm faster rendering

Not an addon or plugin, but a quick hack that forces PhpStorm to use graphics acceleration to render its windows, thus increasing framerate.

First, here’s the procedure on OS X, as per this gist:

cp /Applications/PhpStorm.app/Contents/bin/phpstorm.vmoptions ~/Library/Preferences/PHPSTORM_FOLDER
echo -ne "\n-Dawt.useSystemAAFontSettings=lcd\n-Dawt.java2d.opengl=true" >> ~/Library/Preferences/PHPSTORM_FOLDER/phpstorm.vmoptions

Replace PHPSTORM_FOLDER with the name of the PhpStorm folder – likely something like WebIde100 if you’re using version 10.0 (it’s usually WebIdeVERSION).

On other operating systems, first find the phpstorm.vmoptions file as per this post. Then, copy it into your system’s PhpStorm preferences folder, the location of which you can find out in this post.

Finally, edit the newly copied file and add the following two lines to the bottom of it:

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

Save, exit, restart PhpStorm if it’s running.

6. Rapid PHP version switching on OS X

If you’re an OS X user and not into Vagrant a whole lot, you can use this script to quickly switch between PHP versions for testing your apps on different runtimes.

We still don’t think this is the way to go, and if you really don’t want to use VMs we’d hope you’d at least go for phpbrew and virtenv, but hey, just putting it out there for those of you who do like running PHP on the host OS.

7. Composer parallel downloads

This plugin for Composer forces it to download files “in parallel”, significantly increasing the dependency installation speed. Usage is automatic and the plugin can be globally installed via:

composer global require hirak/prestissimo

Mind you, the “parallel” aspect of this approach is up for debate but this does not devalue the fact that installation times are dramatically improved (a Laravel create-project command goes from almost 5 minutes to under 30 seconds, according to the README).

8. Quick Mobile Preview with Emmet Re:View

Emmet Re:View is a fantastic browser extension which immediately renders the currently open web page in all the sizes defined by media queries in its CSS. Very handy for quickly seeing what your app looks and feels like on different screen sizes.

The extension also has some nifty additional options like defining new custom screen sizes, syncing the scroll across all screens, dynamic on-the-spot resizing of every screen so you can see the media queries in action, and more. Here’s an example render of the AdminLTE demo.

Emmet ReView in action

9. Comfort Collection

Last but not least, I’d like to briefly share with you a combo setup I use to code comfortably, without back pain, weight gain, or other problems commonly associated with working on computers for a while. I use all the tools / approaches below. If you’d like to know more, please ask in the comments.

Conclusion

I hope at least some of the entries on this list made it into your everyday routine – if you have any others you’d like to suggest, please drop a comment below, and if you’d like to know more about the “comfort setup” or would like to share your own with us, please do let us know – including pictures is perfectly fine!