
Ask HN: Your development environment on Windows 10? - aosaigh
I’m a full-stack web developer and I’ve recently built a pc, having previously been working on Macs for the last 5+ years.<p>Im finding it difficult to create a productive development environment on Windows. There seem to be a couple of popular approaches; WSL, Hyper V vms, VirtualBox vms, git bash, ...<p>What does your setup look like?
======
EnderMB
For Windows dev, Visual Studio as the IDE, VSCode as the text editor,
Powershell running within Cmder, and any required git extensions for running
on the command line like Posh Git.

For Linux dev, I have Debian installed on a VM in VirtualBox, and this
workflow works pretty nicely for me. It can be a pain in the ass to get the
Guest Additions set up, but once you've got the hang of it for your system
it's not so bad.

For Node, I tend to side more with Linux than Windows, purely because I use a
Mac at work. Node and Python work great with Windows, but I can't say I've
ever tried nvm in Windows, so it'll be down to your personal workflow and
whether you can translate that over. For me, Python works just as well on
Windows as it does on Linux.

------
mikerathbun
I have used Vagrant for a few years and never had an issue. All of my source
code is shared/synced on the system drive. I use Go, Python, and lots of
Javascript frameworks which are all installed and compiled in Vagrant. It's
really nice not having all of the frameworks and compilers installed on my
work environment. If I need to run a web server or DB I will either apt-get
install it in the current Vagrant VM or create a second VM and configure ports
in the Vagrantfile to make sure they can talk. I recently started to use
Docker to run those services so my Vagrant environment is quickly just
becoming the area where I run the tools associated with code compiling.

------
BjoernKW
I don't regularly use Windows as a development environment so I'm no expert on
that matter but whenever I occasionally have to use Windows the solution for
the most part is: Create some sort of UNIX-like environment for example by
running Linux in a virtual machine or by installing Cygwin.

Git Bash is a lightweight alternative if you don't want to completely switch
your OS. Though mainly intended to provide you with a proper UI for running
Git commands in order do so it has to create a UNIX-like shell environment,
which provides many additional benefits for running other development tools
with a CLI as well.

------
asgeirn
VSCode for most of the editing work, jumping to Sublime for very large files
and IntelliJ for Java work.

Git for Windows, and SourceTree for all serious Git work except interactive
rebase.

For building, testing and packaging, Docker. This way I don't need to spend
lots of time maintaining runtimes for all languages and environments. If
things go weird I just factory reset the Docker installation.

I used to do choco and a lot of tools maintenance, but that is all history
with Docker in the mix.

------
eb0la
I always install Sublime on a new Machine. Also, Cygwin is a must for be
because I have to connect with X and ssh to remote computers.

I don't know if the Linux subsystemd for Windows
([https://docs.microsoft.com/en-us/windows/wsl/install-
win10](https://docs.microsoft.com/en-us/windows/wsl/install-win10)) would work
instead of Cygwin but looks quite good.

~~~
marktangotango
I’ve been using Cygwin years now and there are some gotchas; no Cygwin node or
go packages, so you have to use the native windows ones. Where this gets you
is some funky path resolution problems. Another pain point is network proxy
config inside corporate firewalls. I personally think it worth it though.

------
Mononokay
Coming from a Mac, your best bet'd be switching to a UNIX-like system; or at
least setting up a dual-boot on your PC with a UNIX-like OS. If you just want
to install an IDE and the like, you could probably install the bare minimum
Arch requires, then install your IDE and the like in under 7GB or so.

If for some reason this isn't achievable, use VMWare?

Alternatively, you could always Hackintosh your new PC.

------
quantummkv
Visual Studio Code as the IDE, Powershell running on ConEmu with poshgit and
oh-my-posh. For specific UNIX work I can simply drop into wsl with the bash
command.

A whole lot of tools like python, php and node work flawlessly on windows
these days. For something that does not work, you can always drop into wsl.

------
flooq
WSL and sometimes Docker. If it belongs on the command line I keep it in the
Ubuntu environment.

I've been swinging between the Jetbrains IDEs, Atom and VS Code over the last
year but I think I'm settled with VS Code now.

I'm using Hyper for terminal, or VS Code's terminal.

------
outsideoflife
VirtualBox> Ubuntu >Atom I know HN love to hate Atom, but it works tolerably
out of the box on Python, SQL, XML, JSON, Markdown, HTML which covers most of
my day job work.

I always have Notepad++ installed on Windows for quick edits, config files
etc. Git Bash is helpful on Windows too as it adds a few useful bash tools, I
can SSH properly (with keys) to my other machines for example.

------
adityar
virtualbox ubuntu - i tried (against my better judgement/instinct) working in
Windows at some point and it's just the worst.

------
moondev
Windows is not my main dev env but I do some things here and there when i'm
booted into it. WSL + Docker for Windows via Hyper-V is pretty great. I also
generally run terminator via x server and it's fairly snappy. Need to try the
new vscode release, as it had some trouble launching from WSL in the past.

~~~
aosaigh
Thanks. It seems to be a coin toss between the native WSL + Docker and just
running everything in a VM

------
cmorgan8506
I did a short video on setting up a dev environment in windows 10 if you're
interested.

[http://fullbit.ca/create-your-own-development-environment-
in...](http://fullbit.ca/create-your-own-development-environment-in-windows-
using-virtualbox-and-ubuntu/)

------
odonnellryan
I actually use linux subsystem for windows for a few things and it works OK!

Otherwise, PyCharm + Chrome. I have VirtualBox for some VMs that I need
sometimes (specific software that needs to be installed, etc..)

I used Conda for Python environments.

------
eptakilo
Text editor: Visual studio code Terminal: Cmder (I can switch to WSL by typing
bash)

Stack: Django + SQLite or .net core with MSSQL No VM: My computer keeps
freezing. I am thinking about going docker at some point.

Browser: FF and Chrome

------
JCSato
Do a fair amount of Node and browser stuff on Windows. Use Sublime with a few
plugins as my text editor, and git bash as my terminal, Chrome debugger when I
really need it. Works pretty comfortably.

------
romanovcode
It depends on what you are building. If you are .NET developer you pretty much
don't need anything else but Visual Studio.

If you need some unix tools you should just go for Linux Subsystem for
Windows.

------
tjalfi
IDE - Visual Studio 2017 with ReSharper Ultimate

text editor - Notepad++

git client - SourceTree

CLI - Cygwin

------
eberkund
What is your stack?

~~~
aosaigh
Python/Django and Node.js generally

~~~
eberkund
I only do very minor stuff with Python but for Node.js I use VS Code. For
installing programming languages and other CLI tools (PHP, Python, Golang,
Node.js, Git, etc.) I use Chocolatey on Windows:
[https://chocolatey.org/](https://chocolatey.org/) It avoids the hassle of
manual updates and having to modify your $PATH.

------
Thisisrandom8
Windows subsystem for Linux and sublime3

