Through my career, I\'ve observed many types of software engineers, and with each, the way they work and finally organize their workspace. Part of that workspace is a set of tools we use to increase our productivity or free ourselves from tedious tasks that tend to take our time.
Once I week, I like to spend some time and analyze the tasks I do, where do I spend most of my time and how can I optimize it, so instead I can focus at my work.
As a result, I thought about sharing with you my current set of tools I use, both on Windows and Mac, starting with the first one. I\'ve tried to avoid listing things that are generally known, installed by everyone on their dev machines. Don\'t expect to see Visual Studio Code, Sublime, Python and such on this list. Still, though, with the growing popularity of some of these tools, I am sure you will sigh once or twice with a surprise that it made a list :).
Windows Dev Environment Setup
Since Ubuntu is available on Windows through Windows Subsystems, why not make full use of it and integrate it with our development setup. Combined with zsh and oh-my-zsh (plus plugins like autosuggestion, docker, git and more) it became a much more powerful substitute for a standard command line.
The theme I am currently using is powerlevel10k/powerlevel10k.
ConEmu/Cmder or Clink
From time to time, I still need to use the standard command-line tool. To give it that extra bit of functionality, I recommend installing ConEmu or Clink which ConEmu relays on under the hood.
Recently started to get familiar with the new Windows Terminal, even though still in preview, it has the potential to become a replacement to the tools mentioned above.
If you work across multiple projects, it is worth creating shortcuts what starts your console/terminal in the project you want to work. To do so in Windows, create an alternative, with the wsl.exe as a target, and \'Start in\' folder path you want it to be.
Install Listary (Alfred equivalent for Windows)
I use it mainly as an alternative to Alfred on Windows. To those of you not familiar with it, it is a tool allowing you to search your computer for apps/files quickly. On the top of that Listary adds several powerful features to the Windows Shell, allowing for in folder file search.
A great tool to automate your workflow. It allows assigning all sort of behavior to various combination of keys. I use it for obvious things like speeding up typing the same things over and over but also for some other interesting reasons lie :
Adding a sound to the click of the mouse. - I use it when using a laptop only (especially when relaying on touchpad only), allowing me to get that extra audio clue that the click indeed happened.
- To extend the previous idea, I\'ve set up my F1, F2, and F3 to behave as mouse buttons, allowing me to have better control over the mouse movement and clicks. I can quickly switch between \'mouse button emulation mode\' is enabled and disabled through a shortcut.
- Swap ALT and CTRL - helpful for those moving away from Mac and switching to Windows, helps me stay sane while working a lot between these two ecosystems.
- Disabled right shift - on my current laptop, I tend to click on it while doing a certain combination of keys, so to avoid it, I disabled that key entirely.
Shell extension allowing me to use folder windows as tabs and group them. Great if you always find yourself opening too many windows and losing track of which one points where.
A useful tool, helping me to keep my files on a hard drive organized. Allows you to define profiles, and per profile, rules what to do with a file when used with the tool. Rules can be name based as well as attribute-based.
One of the use cases, I found it extremely useful, is to set it to monitor my download folder. Once a day based on a predefined set of rules, it de-clutter it and organizes whatever I\'ve downloaded through the day. It does it to my desktop too, and move all the \'quickly\' saved docs to designated folders sorted by date and file type.
A great small addition to the shell. It helps to convert between file formats quickly.
Install HardLink App
Hard Link feature allows pointing at the same file from multiple locations, greatly simplifying some of the workflows.
This app helps to understand what\'s exactly is happening under the hood of the system. Windows 10 improved and helps to find out what app holds a handle to the file we try to remove; however, prior that, it was one of the use cases for me to use this app.
Another app, Windows, has an alternative to (and also a new feature in preview, coming to Windows 10). It does though offer incredible customization of what should happen during the screen capture process (automatically copy to clipboard, move to a folder and so on).
It also offers screen recording and integration with several sharing services if needed.
SourceTree / GitKraken
I use both SourceTree (free) but enjoy using GitKraken. If cost is not a problem, I do recommend GitKraken for the number of features if offers and easy of use.
Install Open Shell
Replace new metro shell with a classic shell.
Open Shell Download
Rainmeter / Wallpaper Engine
A well organized and good looking desktop can also improve the way we work. I use combination of these two to add extra set of widgets and great wallpapers.
Soon, I am going to write another post, this time designated to describe a set of tools I use on Mac, to help me stay productive and improve my dev environment.