'Even the simplest tools can empower people to do great things'
To become the best developer you can be, you need to have access to the best software that will enable you to write code optimally. Having access to the best development tools helps you to craft software faster and with fewer headaches. If you want to take your development skills to 11, this is the tutorial for you 🔥🔥🔥
IDEs and Terminals
In this section, I will briefly cover the two fundamental tools that every developer will need to master, the IDE and the terminal. An IDE will allow you to write software and the terminal will allow you to compile that code and push it into source control. Using the right IDE and more importantly, configuring it for success, will help you write code faster and with fewer mistakes.
VS Code: I would be surprised if anyone reading this article has not heard about VS Code. Released in 2016 by Microsoft, VS-Code has taken the developer world by storm.
In the 2021 Stackoverflow developer survey, VS-Code ranked as the #1 IDE with a 70% market share. I think the main reason why VS-Code is so popular is down to its customizability.
With thousands of free themes and plugins available from the VS-Code marketplace, you have a lot of power to control how VS Code looks and behaves. Being able to configure an IDE to work for your particular development needs is one of the biggest time-saving tips for any developer.
In terms of productivity, there is a trade-off with having access to so many plug-ins. You can waste countless hours of your life, very unproductively, experimenting with different themes and plugin combinations to get your set-up perfect. Spending time configuring VS-Code, instead of coding can often be the worst distraction. If you want to bypass doing this research yourself, the good news is that I have recorded a video that completely details VS-Code my-setup that you can find here 😎😎
Visual Studio: Visual Studio was the King of the Windows IDE world for many years. While it is possible to build .NET and C# projects soley within VS Code, I still find it more optimal to use Visual Studio for this type of development.
Just like VS-Code, there are many free marketplace extensions that have been built for Visual Studio, with my two personal favourites beingResharper and CodeMaid. If you do not want to waste hours of your life researching which Visual Studio plugins will work best for you, I have also recorded a video that details my Visual Studio 2022 set-up that can be found here 🖼️
In terms of access, there is a free developer version of Visual Studi 2022 that you can download for personal use, however, the real power comes in the Professional license which is about $350.
📁 Download Visual Studio 2022 Here
Atom: Atom is another very useful IDE that is worth checking out. You might be wondering why there are two IDEs on this list? The answer is due to a limitation within VS-Code.
VS-Code can only run on Windows with a maximum of two instances running simultaneously. If you try to open any more, you will bump into an error. Often when programming you may need to open a number of ad-hoc code files in different projects and solutions. To allow for this need, I typically install an alternative IDE just so I can read one-off code files as and when I need to.
The alternative IDE/text editor that I use is called Atom. Atom is a great and very underrated development tool. Atom while not having the same number of extensions as VS-Code, still has a lot. There is no limit on the number of instances of Atom that you can have running at the same and the best of all it's FREE!
Windows Terminal: The out-of-the-box Windows terminal is a bit useless. If you are currently using it then you are in no way being as productive as you could. Not only is the default app ugly, there is also very little customisation that you can do on it. If you want to completely level up your terminal game, you should install Windows Terminal.
Windows Terminal will allow you to use multi different types of terminals, like Powershell or Bash. You can add background images, fonts, and icons to pimp up your shell's look and feel.
Configuring the terminal does take a little know-how. There are lots of different plug-ins and extensions that you could use. To save yourself from researching what is possible, I have recorded several walkthrough videos for optimal Windows terminal configuration. These videos will allow you to get the most out of the terminal. If you prefer Powershell watch this one and if you prefer bash, Zsh or Tmux read this one.
📁 Download Windows Terminal Here
If you hate Windows Terminal and you want an alternative, you could checkout Tabby instead.
DevToys: DevToys is the Swiss army knife for developers. DevToys was released in 2021, so it is a relatively new tool on the block. DevToys is a free and open-source program that ships with over 20 different developer tools. These tools can help solve common tasks like Regex validation, code formatting, text conversion, and image manipulation. For a detailed review of how you can easily add DevToys to your workflow, watch this video.
PowerToys: PowerToys is a suite of tools written by Microsoft for these mythical Windows "Power Users". PowerToys comes with lots of useful tools that help you write code quicker. The feature that I use the most is called Zone manager. Zone manager allows you to define zones on your screen so you can snap applications into place easily. If you need an IDE, browser and terminal open in the same positions, this is very handy. Other useful PowerToys tools include a screen hex colour picker and an application launcher. Launch programs from the keyboard and say goodbye to the start menu forever!
ZoomIt: ZoomIt is another handy free tool that was written by Microsoft. In 2022, if your developer life is similar to mine, you will spend a lot of time on Teams or Zoom talking to others about code. ZoomIt will help you create more visually appealing on-screen presentations. ZoomIt will allow you to annotate your screen in real-time either with an arrow, a square, or freehand.
ZoomIt will allow you to focus your audience's attention on a specific area on your screen. If you are going through code, being able to highlight the line you are talking about can make life much easier for everyone. After installing it, simply click
CTRL + 2 to draw on your screen!
Ditto: Level up what you can do with your Windows clipboard with Ditto. As a developer, do you ever leave your IDE open for days just so you can access the undo history on a file? Have you ever experienced a panic after accidentally closing a tab because you've lost your undo ability?
I am happy to admit, that I constantly fall into this camp when coding. Instead of relying on this pretty risky strategy, Ditto can help. Ditto will keep a complete audit log of all the text that you send to your clipboard. This means you can search for code snippets and fragments from weeks ago, or, even a few hours ago.
I do not intentionally need to use Ditto a lot, however, when I need access to my clipboard history, it's a complete life-saver! Ditto has saved me numerous times mainly when using GIT. If a merge has gone wrong when using force-push, I've been able to access accidentally deleted code many times from my clipboard archive. As the Ditto history is searchable, it literally takes a few seconds to find what you need!
LiceCap: I use Licecap to record my screen and convert the recording to a GIF (see the image above for a real-life example). This ability is handy not only for blogging, but, also to improve communication when coding. Being able to show someone on the team exactly how to trigger a bug, use a feature, or a bit of software in a video using ZoomIt is much easier than trying to explain something within an email. LiceCap is free and simple to use, what is not to love ❤️
F.lux: There are countless studies that prove that looking at a screen before bedtime makes it harder for you to switch off. Those studies are great, however, they do not take into consideration deadlines. Sometimes you just need to write code, and get shit done until a project is finished.
When you need to code in the evening, to help your brain to become less wired before bed you can use F.lux. F.lux makes the color of your computer's display adapt to the time of day. F.lux will make your screen warmer at night and lighter during the day. F.lux basically helps remove the blue screen glare effect in the evening automatically for you. Set your location, have F.lux running and the rest will be taken care of for you. Say hello to less insomnia 💥
WinMerge When upgrading a website, or, doing a complex merge, you will often need to compare files or folders. The best free file and folder comparison tool for Windows is WinMerge. Load an individual file or compare a whole folder to see the differences visually. Easily move and sync files between old and new. You will find that using WinMerge for these types of tasks will be a lot less painful compared to using Windows Explorer!
Lockhunter: When building a website you will need to debug it. Debugging a website involves running it from within a web server. During this build and test process, files can often become locked. Locking occurs when a process/program is still using a file. If you try to move or delete a locked file, you will encounter an erro😞 To delete a locked file you may need to reboot your computer. This is where Lock Hunter will help save you time 💥
After installing Lock Hunter, within the context menu option, you will gain an option to unlock or delete a file with lock hunter. Lock hunter will identify which processes are locking a file or folder and provide you with the ability to kill these processes.
DotPeek: DotPeek is a free-of-charge .NET decompiler. Using Dotpeek, you can inspect code contained within a
.DLL file. When you are trying to figure out how some third-party plug-in or CMS works, this tool can save you hours.
Instead of reading the docs, read the code. DotPeek will decompile any .NET assembly into equivalent C# or IL. Using DotPeek means you can get a good feel about what some unknown assembly is actually doing. This tool has saved me lots of time over the years!
Filezilla: Filezilla is the best free FTP program for Windows. When you need to upload or download files from your web server on production, or development, FTP is often the easiest way. Filezilla allows you to store your FTP details so you do not need to remember all those pesky FTP URLs, usernames and passwords anymore.
mRemote: Level up your Windows remote desktop experience, with mRemote. Like Filezilla, using mRemote will allow you to create and store connection details. mRemote will save the IP address, username and password for each connection you create. As an added bonus, you can also import and export settings between computers easily. No more remembering, or, setting up remote desktop shortcuts again!
Rescue Time: A time-tracking, analytic ad productivity tool for Windows. RescueTime provides personal time management and productivity software that shows you how you spend your time and gives you tools to help build habits
Greenshot: Using Greenshot you can easily create and annotate screengrabs on Windows. By pressing
PRT SC you can take a screengrab. After a grab has been created, you then have the option to edit the grab within an image editor.
Being able to send pictures, with arrows pointing to the areas where you want to focus someone's attention is handy for code reviews, and when you need to create instructions within a
*TreeSize Free: If you are running out of hard drive space, TreeSize will show you a breakdown of all the files and folders on your PC with an overview of how much space each item is taking up.
Often when coding, some tool will take lots of disk space, SQL databases spring to mind! When you run low on space as a developer, it's often because of something a normal tool like CCleaner will not spot. TreeSize can really help your PC to run optimally.
If TreeSize Free is not your bag, another good alternative is WinDirStat.
Postman: Postman is a great tool for API testing and exploration. Postman will allow you to send requests to an API and get a response back. If you are building an API, or, integrating a third-party API, knowing the data shape and the data returned can save you from debugging hell!
The real benefit of using Postman is the collaboration aspect. Postman allows you to organise your API requests into projects. These projects can then be shared between computers and team members. Another handy benefit is that you can use Postman as a tool to create and run your integration tests.
Everything: The default Windows search program is shit, it always takes ages to return a search and for the majority of searches it does not find what you are looking for 🤬
If you need to find files, folders or even code on your Windows machine, you can dramatically speed up and improve the search results with an external tool. The search tool I recommend for file and folder searching is called Everything. Everything will index all your files so you can find things on your hard drive within a fraction of the time.
Silver Searcher: If you want to search your PC for some specific code, the Silver Searcher is your best option. Aimed is terminal searching, it is lightning fast. After installing it, you can run a search in the terminal with the
📁 Download The Silver Searcher Here https://github.com/ggreer/thesilversearcher
7 Zip: 7-Zip is a quick and free ZIP/file compression tool. Not exactly sexy, but handy!
CCleaner: The Crap cleaner does what it says on the tin. It will get rid of all the temp files and useless crap from your PC:
Install these tools and you will be a Windows productivity mofo! These tools will help you get the most of your coding experiences. Happy Coding 🤘