I use Windows as a desktop but have it host a VirtualBox Linux VM for my real work because I don't find either Windows or OSX acceptable for serious Linux development. OSX is actually more insidious because it sort of looks like Linux and makes you think it just about can be Linux, but it's just not.
Under VirtualBox my development environment can match my production environment almost completely. There's no awkward "but here's how you do it in Windows/OSX" that mostly works but often doesn't in some subtle way. I haven't tried Windows 10 yet but this setup has worked very well under Windows 7 and 8.1 so I expect it will be fine under 10 since it's just an evolution. I've used this setup in OSX and Windows and it goes more smoothly in Windows.
One of the keys to it is that you use SMB to mount your VM disk as a local drive to the host, so you get the benefit of any Windows editor.
Using VMWare Workstation fullscreen in Windows 10 is great, since Microsoft finally added virtual desktops. Just put the cursor on the toolbar at the top of the screen (to send keyboard input to the host) and press Ctrl+Win+Left/Right to quickly switch between VMs or host desktop.
I suspect it helps to remove shitty window managers like Unity or Gnome3 and go to something more basic like xfce. I just set up an example Ubuntu VM today. Unity is annoyingly laggy. My primary VM with xfce is fine.
Is VMWare easier than Virtualbox in sharing files between guest and host? I can never get Shared Folders to work on Virtuabox, and end up configuring Samba.
I've found that Samba is better than the shared folders feature because it understands Linux file permissions better. Also Samba is a more transferrable skill and will work the same way if I switch to another virtualization product.
I toyed around with a similar setup recently (but I'm not actually doing any Linux development) to try out Nuclide, Facebook's big addon for Atom.
Basically you run a server in your Linux VM that Atom/Nuclide (running in Windows) connects to, and it lets you edit files in the VM as if your project folder were local. For those who like a GUI, I think it's worth looking at to save yourself the hassle of VirtualBox guest tools, etc. that never seem to work reliably. And frankly, I've never been particularly happy with the performance of a virtualized Linux GUI, though most of that blame goes to Ubuntu and its apparently impossible to get rid of (in some locations) fading animations.
Anyway, neat tool, worth checking out. You set up a VM to match whatever you'll be deploying to and then work on files in the VM from an editor in Windows. When it works smoothly it's really cool.
I do something very similar when I'm on a workstation, but I've found that running a full VM is less than ideal on my laptop because of increased battery drain.
Under VirtualBox my development environment can match my production environment almost completely. There's no awkward "but here's how you do it in Windows/OSX" that mostly works but often doesn't in some subtle way. I haven't tried Windows 10 yet but this setup has worked very well under Windows 7 and 8.1 so I expect it will be fine under 10 since it's just an evolution. I've used this setup in OSX and Windows and it goes more smoothly in Windows.
One of the keys to it is that you use SMB to mount your VM disk as a local drive to the host, so you get the benefit of any Windows editor.