My Windows 10 dev setup — the tools that make my life easier

Developing on Windows is not a bad idea anymore.

Jonáš Jančařík
5 min readJul 30, 2018

Indeed, until recently, Windows did not make it easy for developers, mainly if you needed Linux-type tools. For web developers especially, the ability to have both Adobe apps and a ‘proper’ terminal with native tools like SSH was the reason to go with Apple.

But things have changed. There are plenty great tools available for Windows, and above all, Microsoft itself has made a lot of effort. Linux (Ubuntu, but not only) is now pretty much a first-class citizen within Windows and SSH comes included. And Windows 10 itself is a well-designed OS, with a window management I actually prefer to that of OS X.

In terms of hardware, there is also a lot more to choose from: I would consider the Microsoft Surface Laptop, Surface Pro, Dell XPS 13 or the ‘classic’ ThinkPad X1 Carbon. Huawei’s Matebook X Pro is also a solid choice if you can get your hands on one — I’d just suggest reinstalling the OS from scratch. You can save some serious €€€ compared to Apple and still get a premium experience.

Just look at this thing!

This is not meant to be a comprehensive overview of the absolutely best tools; I did not do any special research for this write-up, I am merely listing the tools I am using. Still, I hope this might be useful for someone, especially if you have just recently switched to Windows.

One final word of caution before jumping to the list: my dev experience is mostly about JS/Node.js, PHP (although now only rarely) and web development.

If you want to read more on how things can be set up on Windows, there is a good guide by Owen Williams: How to set up the perfect modern dev environment on Windows.

Code Editor

Visual Studio Code

VS Code, by Microsoft, is my preferred choice these days. Sublime Text was the first modern editor I used after Notepad++ (which, at least visually, is stuck deep in the 2000’s), but then I moved on to Atom (by GitHub), which I liked better for its more open-source friendly nature. However, VS Code won me over by its speed and stability. Like Atom, it is built on Electron and is pretty much infinitely extensible.

I also rely a lot on the built-in terminal in VS Code; it’s just convenient.

For debugging, you can inspect your JavaScript code directly in VS Code, but I prefer using the Chrome dev tools for that. (Navigate to chrome://inspect, click Open dedicated DevTools for Node and launch your script with node --inspect-brk scriptName. Or use the Node.js V8 — inspector Manager (NiM) extension to open the dedicated DevTools automatically.)

Tip: If you edit files on a remote server often, Nano or VIM can be a nightmare. You can use VS Code instead to edit remote files:

Terminal

PowerShell

Since I don’t spend a lot of time in the terminal outside VS Code, I stick to PowerShell. Warning: the default blue look is not great. You can change that, plus there seems to be a way to get a properly designed colour scheme. Or use alternative terminal apps, such as CMDer or Hyper (Electron-based).

Tip: Open PowerShell in the current folder by either typing powershell in the address bar (and pressing enter…) or Shift+Right Click in the window to reveal the context menu shortcut.

Typing in the File Explorer address bar
Shift+Right Click in the File Explorer

Windows Subsystem for Linux

This one is a big one. In case you haven’t heard: Windows 10 can ‘host’ Linux as a subsystem, which basically means you can use Linux tools without any hassle. You can install it directly from the Windows Store and besides Ubuntu, there is also OpenSUSE, SLES, Kali Linux and Debian GNU/Linux. Unless you need something with a GUI, it is a much more convenient alternative to setting up a virtual machine.

Tip: Type bash in the File Explorer address bar again to open it in the current folder.

Remote server management — SSH, (S)FTP etc.

MobaXterm

Sure, you can do ssh from the terminal in Windows — you don’t need any third-party apps for that as an OpenSSH client is now enabled by default.

But MobaXterm is like a Swiss knife for your VPS remote management. You get tabs. You even get a usable FTP/SFTP manager, so you don’t really need FileZilla anymore. It remembers passwords for you, has a GUI for setting up port forwards/tunneling, it even contains a few games for some reason. Sure, it may look like an overkill, but the user experience is mostly really good.

All the different types of sessions MobaXterm allows you to set up.

Database management: MySQL and MongoDB

MongoDB: Studio 3T

I feel Studio 3T is more useful than MongoDB Compass, although the latter has a nice GUI and some cool visual features Studio 3T lacks. One of the things I like about Studio 3T: it allows you to write SQL code to query MongoDB.

Studio 3T isn’t completely free, but the free non-commercial license let’s you keep three connections set up.

Alternatives: Robo 3T — sort of like a lighter, free version of Studio 3T (it was only recently acquired by 3T), MongoDB Compass

MySQL: HeidiSQL

I still sometimes use phpMyAdmin, but it doesn’t offer the speed and convenience of a proper desktop app. HeidiSQL is free and does everything I need.

If you only manage your DB through the browser (e.g. the aforementioned phpMyAdmin), don’t forget you have to allow remote connections before switching to a desktop client.

Alternatives: phpMyAdmin, MySQL Workbench

Other tools

--

--

Jonáš Jančařík

Data analyst, formerly technologist @ECThinkTank (http://medium.com/@ECThinkTank) @EU_Commission think tank.