How using a clipboard manager can make you a more productive Software Developer

Michael Labuschagne
7 min readJan 16, 2018

--

Early on in my career as a Software Developer I recall hammering away at the keyboard with all the ambition of a newbie in the field I dreamed of being in as a young boy. I was tenaciously learning and coding as much as I could to become a better developer, the best developer I could be.

As a junior developer, you want to improve your skills and accelerate your productivity in any way possible. Whether that means having a cup of coffee every 2 hours, using earphones to block out distractions, and of course finding and exploiting any productivity tool or hacks you can get your hands on, which brings me to why I’m writing this.

I’ve been using clipboard managers for around 6 years now and it’s become so critical to my development workflow that it’s the first piece of software I install on any new machine or when I reinstall my OS.

So, what’s the big deal?

You may be wondering what the big deal is about. This is understandable, especially if you’re not used to using a clipboard manager as the benefit may not be immediately obvious.

The most demonstrable scenario which makes me realize the productivity gain in using a clipboard manager is when I’m pair programming with a colleague who doesn’t use a clipboard manager.

Their workflow resembles something along the lines of:

  1. Ctrl+C a piece of text (test data for example) and Ctrl+V it into a field in the browser.
  2. Now repeat the above for another field.
  3. After some time they require the data for the first field and need to go back and Ctrl+C and Ctrl+V again.

Step 3 above is the problem. If you had to add up all the time spent switching to the application with the source data (an email or a spreadsheet for example) throughout the day it can add up to a substantial amount of time. I use this tool daily and I use it to recall text that I’ve copied such as webservice endpoints, test user names and passwords, and code snippets. Just to name a few.

How does it work (the basics)?

The process is rather intuitive, below I’ll go through the general flow.

Copy some text from any application
If the clipboard manager is running and listening for copy events (you can either close the app or set it to ignore the events if you do not wish to use it) it copies the selected text into its memory which is normally persisted to some sort of on-disk database.

Press the hotkey combination for your clipboard manager
All of the clipboard managers I’ve used have this functionality. In Windows I set the combination to Ctrl+Shft+V because it’s close to the keys used for pasting. In Linux that key combination is already used for pasting into the terminal and so I opted to use Ctrl+Alt+V (I could have possibly remapped the terminal application but I prefer maintaining short key reusability across other computers I may use and rather remap my own apps others aren’t likely to use).

CopyQ pop-up widget

Paste the text into the application of choice
The clipboard managers I’ve used can be configured to automatically paste into the underlying application when selecting (pressing the Enter key or double-clicking the item in the list). This action also places the selected item in the clipboard manager in the first position (this is also a configurable option in the ones I’ve used), if it wasn’t already.

As you can see the process is relatively straightforward. You may just need to configure some of these settings in the clipboard manager’s preferences to get it to behave exactly as you’d like it to.

What else can it do (more advanced)?

I say advanced, but these concepts are straightforward and intuitive. I use these frequently and they make using the clipboard manager a lot more convenient and powerful.

Searching
You can search within your stored previous copies. In the below example, items 1 through 18 are copied into the clipboard manager one at a time. Then once the pop-up widget is opened (via hotkey combination), typing any arbitrary text will search for that text in your clipboard manager’s history.

CopyQ pop-up widget

This feature is very powerful and I use it daily. I might want to use a specific piece of test data I copied into the clipboard yesterday but I only remember a few chars worth of the string. Using this technique I am often able to reuse a previous copy without having to go back to the original source (text editor, email, or spreadsheet for example).

Image previews
The clipboard managers I have used not only allow copying of image data but also previewing the image in the pop-up widget. This is very useful if you’ve copied a few images and you’re not sure which image is in which position in the clipboard manager’s history.

CopyQ pop-up widget

Configuration

Now that you know the basics here are some configuration preferences that I use in my clipboard manager that I find useful.

  1. Run on system startup
    You don’t want to have to start the clipboard manager every time you start your OS. I like having my development environment as ready-to-go as possible.
  2. Maximum number of items in history
    Depending on your requirements you can configure how many items should be kept in the history. The larger the history the more disk space it uses (especially when storing images) and the slower the clipboard manager will startup and searches will be performed. I configure mine to hold 10,000 entries.
  3. After item is activated
    After selecting an item from the pop-up widget you can choose what should happen. I prefer that the widget closes, the item is pasted into the underlying window, and it is moved to the top of the list in the clipboard history.

Which clipboard manager app should I use?

There are many options available but personally, I like using Ditto for Windows and CopyQ for Linux. I don’t use macOS but CopyQ also has a binary available for macOS users.

What about built-in clipboard managers?

You may have noticed that JetBrains IntelliJ and Microsoft Visual Studio both have their own built-in clipboards. Don’t get me wrong, I really enjoy the great work that the JetBrains and Microsoft teams do in order to provide us with best-of-class IDEs that make our lives a lot easier than they would have been otherwise. The main issue I have with these features is that they can only be used in their respective applications.

While IntelliJ is open it will collect all copies into the clipboard that have been performed (even those not in IntelliJ). Unfortunately, you are only able to use the IntelliJ Clipboard Manager from within IntelliJ. You can’t for instance paste from your IntelliJ clipboard history into an external application. This is fundamental functionality and without it, the productivity benefits are far less in my opinion.

Another issue is that once you have closed IntelliJ your clipboard history is lost, it doesn’t support persistence of the history.

JetBrains IntelliJ IDEA

From some brief research, it doesn’t appear that the Visual Studio IDE is capable of collecting copy events or the use of the built-in clipboard manager from outside the application.

Security

The most frequent issue colleagues raise when I suggest the use of a clipboard manager is security and privacy. If you have sensitive data in your clipboard history you are at risk of someone having access to it.

Below I’ve listed a few strategies to mitigate this risk.

  1. Encrypt your hard drive
    This way if your computer is stolen your data won’t be accessible by pulling out the hard drive and simply plugging it into another computer. There are various options like BitLocker for Windows, partition encryption for Linux (possible during the Ubuntu 16.04.3 LTS installation), and FileVault in MacOS.
  2. Don’t copy any sensitive data to begin with
    I wouldn’t suggest copying your email password or others into the clipboard to begin with. There are better tools to use for doing that (password managers like 1password and LastPass for example, a quick Google search will return many options).
  3. Encrypt sensitive items in the clipboard manager
    CopyQ is able to encrypt items in your clipboard history with OpenPGP (which uses RSA-2048 crypto on my Ubuntu 16.04.3 setup). As seen below a padlock is displayed together with a note you can set for the item.
CopyQ pop-up widget

Summary

Clipboard managers can be extremely useful and increase your productivity. There are some security concerns that need to be taken into consideration when using one. However, it’s well worth your time if you’re a Software Developer who is interested in becoming more efficient and likes hacking their development workflow to invest some time setting one up.

--

--