8 ms·
Ask HN: Your development environment on Windows 10?
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.
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, ...
What does your setup look like?
- eberkund 9y agoWhat is your stack?
- aosaigh 9y agoPython/Django and Node.js generally
- eberkund 9y agoI 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.
- adityar 9y agovirtualbox ubuntu - i tried (against my better judgement/instinct) working in Windows at some point and it's just the worst.
- moondev 9y agoWindows 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 9y agoThanks. It seems to be a coin toss between the native WSL + Docker and just running everything in a VM
- odonnellryan 9y agoI 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 9y agoText 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
- Mononokay 9y agoComing 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 9y agoVisual 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.
- mikerathbun 9y agoI 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.
- tjalfi 9y agoIDE - Visual Studio 2017 with ReSharper Ultimate text editor - Notepad++ git client - SourceTree CLI - Cygwin
- BjoernKW 9y agoI 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.
- eb0la 9y agoI 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 9y agoI’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.
- EnderMB 9y agoFor 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.
- outsideoflife 9y agoVirtualBox> 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.
- flooq 9y agoWSL 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.
- Thisisrandom8 9y agoWindows subsystem for Linux and sublime3
- JCSato 9y agoDo 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.
- cmorgan8506 9y agoI 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-windows-using-virtualbox-and-ubuntu/ http://fullbit.ca/create-your-own-development-environment-in...
- romanovcode 9y agoIt 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.
- asgeirn 9y agoVSCode 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.