That said, I'll probably try it out.
Ive used it before (2005, 2008, 2010), but it was just another IDE. How have things improved?
Filtering in the solution explorer. Peeking definition. Code Lens Parallel watch. (Ultimate Only) Number of references listed above the function and tests associate with it.
2015 has some even cooler stuff. It shows memory and cpu usage as you debug any program (tests/console/etc). You can call linq from the watch window (not sure where I saw this buy a key feature that was missing). The built in diagnostics tools are better (I use resharper so I don't really need that).
I also really like some of the built in Code Review tools they have, which you don't need if you do pull requests in git.
These tools may be available in other IDEs, but they are so easy to use in Visual Studio. Again, this may be due to my experience and familiarity, but I haven't found anything close. In theory Eclipse should be able to compete since the debug capabilities should be the same (.NET vs JVM) but it was disappointing. Cludgy IDE, poor intellisense. And even creating a simple Java console application required several manual configuration steps. In .NET you can have a new console app running in 2 clicks, and it's pretty intuitive so even new users shouldn't be too overwhelmed.
I typically use VS every day (currently on 2013), and yes, I have a similar experience with other IDEs. Then I remember that I know VS pretty well, and maybe that's why this other IDE doesn't seem so great. If I spent 8 years with a different IDE, and someone gave me VS2015, I'd probably have that same "this clearly isn't as awesome as X" feeling.
I haven't used Visual Studio in about a decade or more, but I would not be surprised if there were things about it that don't have an easy analogue in others, and which people miss.
That has emphatically not been my experience with Eclipse at all... I've had to participate on a number of Java solutions over the years, but it always felt like a hair pulling experience. For that matter, I'm often frustrated with VS after spending most of my time the past 4-5 years in node... full text editor, and two console windows open (plus browser(s)). After a while, it feels like the low tech option is easier.
There are things I miss when I play with VS... but when I use VS for JS editing, I find I'm fighting with formatting options that reformat my text, and other developers with the defaults that don't care. That said, I do like VS more than every other IDE I've used... WebStorm is really nice for node, but I haven't tried the latest NTVS seriously.
Also, even as a front-end guy, I was able to debug fairly complex applications because the compiling errors are so clearly laid out where they are and hints on how to resolve them.
I've used nearly every IDE imaginable and I've found VS's intellisense to be second to none.
I do a lot of .Net development, and more JS/Node development... I don't miss VS or windows most of the time.
If you like the MS toolset, by all means use Windows. But using a vm for especially a gui program (which then interacts poorly with your os ui) seems like a sub-optimal solution?
It also has the nice side effect of not making me hate the computer I'm using and the project I am working on. The more things I have to touch on Windows, the more unhappy I am; I find it to be unpleasant and death-by-a-thousand-cuts draining to use for more than casual use (I own a Surface Pro 3, but only because I got it very cheap). There are two applications open in my Parallels virtual machine: Sublime Text (for editing YAML files) and Visual Studio for working on code--it's the minimal set of things I have to touch to use C# for development.
This support for Python in VS may be a step in that direction.
def function1(x):
variable1 = x+1
return variable1**2
def function2(x):
variable2 = 2*x
return 5+v...
And I get two auto-completion choices: variable1 and variable2, while only variable2 is logical.I used to use the auto-complete package instead, which in some configs (with ac-source-words-in-buffer or ac-source-words-in-same-mode-buffers in the source list) basically tokenize the buffer and provide autocomplete on all words.
I can probably try and dig up the relevant part of my config, but since I'm using prelude as a base now it mostly just works with only a few lines of tweaking in my personal.el -- mostly just virtualenv locations and enabling virtualenv mode with a hook.
Does it have good integration with things like Peeking defintion, code lense, Debugging with watch variables/autos, etc?
I think I'm one of those grumpy set in his way types now so I'm unlikely to change my habits.