As you code, search, and collaborate
If you’re anything like me, you surely like to keep up with the newest technologies on the market. I constantly try to look for ways to upgrade my IDE with cool plugins that can help me and my team become more productive.
You might already be familiar with great tools like Tabnine or SonarLint, so today I would like to share with you those less known plugins you may not have heard of yet, but should definitely try!
GitLive is one of my favorite plugins to enhance the IDE’s built-in Git functionality. I’ve been using it for a while now, and I was happy to see they recently released a major update so I thought I would start my list with this brilliant tool.
JetBrains IDEs already have a great Git integration that makes it easy to see the changes you’re making (via indicators in the gutter and changelists) or the history of changes (via annotate with Git Blame and Show History for selection).
But it’s not so easy to see the changes your teammates are making. This is where GitLive excels. It adds a tool window that shows the collaborators from your repository and all their active branches where you can easily view diffs of the file changes.
It also adds gutter indicators showing your teammate’s changes compared to your local version of a file (including any potential merge conflicts, which is one of the best features of the plugin).
The plugin works offline with any Git repository and just uses the data from your local clone. There is also an online mode that requires you to sign in with GitHub, GitLab, Bitbucket or Azure Dev Ops. Then you can see who else from your team is online, what issue and branch they are working on, and even take a peek at their uncommitted changes — all updated in real time instead of on push/pull.
I am a big fan of data visualisation which helps me understand how I spent my time coding. I feel like analyzing the graphs helps me improve my time management and better organize my work. That’s why I love time tracking tools and I use them for my personal projects and encourage my team to use one as well. Recently we’ve been experimenting with Code Time.
Code Time is an open source plugin for automatic programming metrics and time tracking. Its advanced features can provide you with detailed feedback on how productive you are at work (a big plus for a slick design!).
For example, it has a lot of cool features that help you minimise distractions, find out your most productive time of the day and break down your coding stats (code time by project, lines of code, and keystrokes.)
Producing small PRs is definitely a good practice, but it’s easy to get lost in multiple branches and stacked PRs. Git Machete is a useful plugin that helps you keep track of all the branches, their relationship with each other and with the remote repository.
It also aims at the automation of git actions and makes rebase/push/pull hassle-free (just a click on the button!), especially in the situation where there are a lot of branches and PRs.
This plugin automatically discovers branch layout and creates a tree-shaped graph of branches (in case of any changes or inaccuracies you can also modify it manually in .git/machete text file). The graph provides useful information about the branches: sync to parent status, sync to remote status, and custom annotation. There is also an option to toggle the unique commits for branches.
After right-clicking on a chosen branch in the graph, you can perform git actions like rebase/push/pull on that branch without a need to switch from your current branch, which is very handy!
Here’s a GIF of the plugin:
Maintaining the health of your codebase requires effort from the whole team and Stepsize is an example of a tool that can save you time spent on tracking and addressing potential problems. It’s an issue tracker inside your editor for managing technical debt and maintenance issues.
Sometimes, while coding, we encounter issues that need fixing, but don’t have time to do it straight away. Thanks to this handy plugin you can bookmark code and create TODOs straight in your IDE without affecting your workflow!
Here’s a GIF:
This cool little plugin comes in handy when you need to google something when coding. JetBrains IDEs like WebStorm has a built-in Search with Google action, but Smart Search gives you more useful options, like Stack Overflow, GitHub, or Google Translate.
Thanks for reading! I hope the tools I have rounded up above will make your work easier and help you become more productive.