DEV Community

Cover image for Improve Your Windows Development Environment

Improve Your Windows Development Environment

Antonin J. (they/them) on November 13, 2018

Windows has been my main dev environment for about 4 years with some linux interspersed in there. Before that, I used OSX and Windows interchangeab...
Collapse
 
erebos-manannan profile image
Erebos Manannán

I wish Chocolatey was better, but it's just annoying to me .. have to run it in elevated prompts, and iirc installation even required powershell which I don't normally bother using.

You can use Docker without Hyper-V when you use the Docker Toolbox, which I do. I also use Minikube with it, works perfectly fine. All this is powered by .. VirtualBox of course.

I slightly prefer Sublime Text over Notepad++, and since I got a paid license for it it's not annoying to use either.

JetBrains IDEs also beat all the other options for me, but I've been trying out vscode a bit more with languages that are not easily supported by them, and it's definitely not bad.

I also use Greenshot for screenshotting but I think it's dead. Add ScreenToGif for recording small things that can be easily shared.

IrfanView and Gimp are nice for those few times when you need to batch process a bunch of images, Putty + Pageant for SSH and SSH keys, though people have been hyped about this Termius thing but apparently it's SSH key support is just completely broken, has been for months, and devs don't care.

Oh, I also use WinSplit Revolution (also now a dead project, though I think some fork is trying to revive it) to do some nice quick alignment of windows.

Other than that, I don't think my environment differs that much really.

Collapse
 
antjanus profile image
Antonin J. (they/them)

I think the biggest problem with Chocolatey is that it's confusing in terms of how it works. Maybe I'm a noob but I've always found it confusing as to which tools will be available via path. And then, of course, you forget that you installed something via Chocolatey which makes life super confusing.

Notepad++ in my opinion is superior for the tasks I use it for. It's lightweight, extremely fast boot time, and has one killer feature: when you create a new file, you can keep it in a tab and it autosaves without actually saving. Eg. the file has no place in the file system but exists without failure in NP++

LICEcap has been my go to for screen recording...and yeah, Greenshot is dead but I did love that tool.

I'm currently using Bash/WSL for SSH which might sound weird but works for me. I tend to not use Putty/Pageant.

Thanks for all the input! :)

Collapse
 
erebos-manannan profile image
Erebos Manannán

Definitely Chocolatey's worst part is that it's still so little used, so you always forget it exists and you've installed something via it.

when you create a new file, you can keep it in a tab and it autosaves without actually saving. Eg. the file has no place in the file system but exists without failure in NP++

Yea that's what I do in Sublime Text too - I just open a new "file" for temporary notes. They survive a reboot, without having to ever save anywhere.

I'm currently using Bash/WSL for SSH which might sound weird but works for me. I tend to not use Putty/Pageant.

I've been trying to get Gnome-Terminal to reliably launch via a simple shortcut in Windows to a X Server running locally, but for some reason that thing just regularly fails to launch .. if I could get that thing working, then I'd just SSH from the WSL as well.

Without something like Gnome-Terminal (or maybe LXTerm) working properly I don't find it a reasonable option.

Collapse
 
jsn1nj4 profile image
Elliot Derhay • Edited

You nearly have me convinced to immediately jump into PS. I may at some point, but it's actually beneficial for me to work in BASH since the projects I work on are hosted in a Linux environment anyway. Very good article though.

You named several things I had no idea existed (the intellisense extensions for VS Code, polacode, the CSV plugin for N++). I'm gonna have to try those now.

Regarding ConEmu, I did use it primarily previously. It really does work well. But someone sold me on Hyper, so it's what I use now. I'll give ConEmu props for being native though. It should always start faster than Hyper since the latter is an electronic app.

Lastly, 100% agree on Lightshot. It's made taking screenshots so much easier for me.

Collapse
 
antjanus profile image
Antonin J. (they/them) • Edited

Thanks for the feedback!

I work on projects that are primarily hosted on Linux as well. I tend to make myself the canary in the coal mine on my team by sticking to IE Edge and Windows-first development so that new devs (or existing devs on MS or devs switching to MS) have me to rely on for problem reporting and problem fixing since I'm already used to it. I had the chance to update a few open source libraries to work on Windows which makes me exceptionally happy :)

I liked Hyper as well but I started using it back in its Windows beta/alpha days which meant that I faced a lot of problems I just did not have the patience to fix. ConEmu/CMDer have been exceptionally dependable. I'll link drop Scott Hanselman's recent article on Windows terminals for more options. I have it bookmarked and the new contenders look really nice.

Lightshot ftw! I used to use Greenshot which had an awesome feature (take screenshot of previously selected area) which I dearly miss but it's not enough to make me switch back haha.

Collapse
 
jsn1nj4 profile image
Elliot Derhay

Oh nice (about the terminal article)! I may have to try out some of those alternatives.

Of course, I do hope to switch permanently to Linux one day, but terminal apps like these will get me through in the meantime.

No, that's not the only thing I like better about Linux than Windows, but it's definitely part of it.

Collapse
 
erebos-manannan profile image
Erebos Manannán

Hyper had such incomprehensible bugs with it's node environment that ended up with me getting regular annoying error notifications on my desktop when it was trying to run updates I had to give up on that.

Collapse
 
djuuu profile image
Julien Tardot

On Windows, I can't live without AutoHotkey anymore.

With it, i defined several custom shortcuts, using the Caps lock key as a pseudo-modifier :

  • to insert special characters or strings:
    Caps lock + X inserts
    Caps lock + C inserts
    Caps lock + V inserts
    Caps lock + Y inserts ¯\(ツ)

  • to insert uppercase accented characters (I'm french)
    Caps lock + é inserts É
    Caps lock + è inserts È
    Caps lock + ç inserts Ç
    Caps lock + à inserts À

  • instant google search of selected text with the ² key (top-left key, before numbers on a french layout)

  • Caps lock + D inserts the current date : 2018-11-15

  • Caps lock + T inserts the current time : 13:15:20

  • Caps lock + Tab switches the mouse cursor to the next monitor

...and some other custom shortcuts.

It's a really powerful tool!

My scripts are available here if anyone is interested :
github.com/Djuuu/AutoHotkey

Collapse
 
objectliteral profile image
Peter Steinberg

Nice selection of tools.

But I can not imagine a development environment without a proper package manager. Yea, the language-specific ones are neat (e.g. yarn, pip), but as a generic Windows package manager, I like Scoop (scoop.sh) a lot. Can only recommend it to anyone who is annoyed by Chocolatey!

Apart from that, are you folks really satisfied with your dev setup under Windows? Generally speaking I find it to be more frustrating to get things to work the way I want, compared to Linux and macOS. Package Manager is a big part of this, but also shell (I can not get fish to properly function under Windows).

Collapse
 
antjanus profile image
Antonin J. (they/them)

I'm super happy with my dev environment. I've gotten used to not using package managers since majority of my tools auto-update and things like Node need updating only when it's necessary for my work (we all sync up on Node versions). Outside of that, I don't find myself needing a package manager (aside from lang-specific ones)

Package management needs work but it's been slowly crawling to a good place. :)

And again, there's always WSL!

Collapse
 
jamezrin profile image
Jaime Martínez Rincón

I also was a user of Lightshot, but I ditched it for ShareX.

I suggest anyone trying it out, it is so much better IMO than Lightshot, and even more if you spend 5 minutes configuring it.

Collapse
 
antjanus profile image
Antonin J. (they/them)

Oooh! I've actually used ShareX. Definitely a worthwhile contender! :)

Collapse
 
arrogar profile image
Robbie Datkov

You should try Screen presso for screenshots and screen capturing.

Collapse
 
inozex profile image
Tiago Marques

Amazing article ☺

Collapse
 
marcoravicini profile image
Marco Ravicini

Nice composition, I created a repo with a few hints to a better powershell setup. You'll find it here: github.com/ravicini/posh-setup