The one Play Framework productivity tip you should know about
Contents
If there is one thing you need to know when it comes to enhancing your productivity when working with the Play Framework it’s the following tip because it will save you a lot of time during development. I’ve watched many developers repeat the same steps countless times in a day and every time I show this albeit simple tooling tip it’s like developing is a whole new experience again.
So what’s this “magic” tip I am talking about? Since Play leverages type-safety and warns you early on that things go bad through compilation errors, your screen will often look like this:
This tip is all about turning it into something that looks like this:
Notice the difference? It’s subtle. The whole difference is that the path to the file turns into a clickable link which upon being clicked automatically shows your IDE in the right file, at the correct line. This may not seem much, but repeat the process of remembering file name and line, switching to your IDE, jumping to the file and to the line often enough on a day and you end up with a respectable amount of time. Worse yet, if you’re a bit tired the context switching of having to manually locate that file and line may lead you to forget what the problem was and then you need another back-and-forth between browser and IDE.
So how to get this to work? First of all you need a browser extension. There’s one for Chrome and one for Safari. There might be one for Firefox but I haven’t found it (if someone knows it, please ping me and I’ll add it to this post).
Once you’re done installing the extension, you need to configure it by pointing it at the correct URL. Again this is specific to your IDE (ping me to add yours), if you are using IntellIJ IDEA then the built-in REST API makes this straightforward, just use the following URL:
http://localhost:63342/api/file//$file:$line
And you are good to go.
(if you’re an attentive reader of this blog you may have noticed that I wrote about this back in 2013 - the word needs to spread though so this is an updated version)