Visual Studio 14 Preview
blogs.msdn.com
blogs.msdn.com
The only way I ever find out is through blog posts like this where they announce "new" features that I'd already been using for six years such as the "introduce variable" and "extract method" refractors mentioned here. Evidently that was ReSharper.
Makes me think I should go read up on what's new in R#. I bet there's a bunch more cool stuff that I'd never learn about until VS.NET 2020 if left to my own devices.
http://msdn.microsoft.com/en-us/library/yez2fsct(v=vs.80).as...
If myObject, Items or Items[0] returns null, what do I do next? Null check to find out which one?
I really can't even count the number of times that I've done a series of null checks on a reference chain just to do one thing if I reached the final value and another thing if I never got there or got null - It's pretty rare that I'll care about an intermediate null, and if I do I've usually checked it earlier.
I'm hoping they move CodeLens from being a VS Ultimate only feature to the lower editions (Premium maybe?) in '14' as it looks really powerful but the pricing on Ultimate is pretty far outside of most developers' reasonable expense range.
Seems there is significant demand on this but the UserVoice ticket was closed in April this year.
https://visualstudio.uservoice.com/forums/121579-visual-stud...
I never really understand the argument against Microsoft software being out of the range of reasonable expenses.
Certainly for all the corporates I have worked at, Ultimate is well within their budget.
But Ultimate really comes with all the bells and whistles. If money really is an issue, and you find you must "Collect and analyse runtime diagnostic data from production systems" or "Reliably capture and reproduce bugs found during manual and exploratory testing to eliminate "no repro" bugs" then there are better tools out there.
I've worked for a long time with Premium[2] and never felt like I was missing features...
[1] http://www.microsoft.com/bizspark/faqs.aspx [2] http://www.microway.com.au/microsoft/visual-studio-2013-comp...
We have MSDN access here, but that only offers Premium, not Ultimate.
So yeah, I run Premium day-to-day also, but I definitely feel like I would benefit from CodeLens in my dev workflow (especially with the upcoming Git integration in VS2013 Update 3).
Then again, Windows Server 2003 is still hanging around until next year, so maybe they won't ditch that compiler just yet.
It's probably gone but the toolset targeting is likely still around. So if you've VS2013 installed with the XP-compatible compiler and Windows SDK then you can just choose that toolset.
Usual disclaimer applies: it's an old compiler, you won't get the new language features etc.
Too many ATMs and POS systems that still run XP, give them until 2019 to switch to Windows 8 POS systems.
So it'd have made sense to name it Visual Studio 2015 or Visual Studio 13, but they opted for 14.
I don't think we've made any public statements about "why 14", but I'm sure that you can draw your own conclusions as to why we jumped from 12 to 14 without a 13 in the middle.
(ObDisclaimer: I work on the Visual Studio TFS team.)
But as you are on the TFS team I feel you are a good person to ask, are there many improvements from a TFS source control perspective? It still feels 'clunky' if I want to commit and run a specific build it's laborious. Oh and lets not even ask why my visual studio online builds, with their paid azure account haven't built anything in the last 5 hours :(
I do like the ecosystem, I like an IDE that lets me do everything in one place, that is extensible enough to ensure I can od everything I need there. But the current interactions, maybe tonights downtime has made me angry, are rather disappointing.
Anyway, sorry things feel clunky. I would definitely suggest moving from a server workspace to a local workspace if you haven't already and don't need some of the guarantees it makes about locking files for checkout and such. An edit/merge/commit system isn't nearly as chatty with the server and is much more pleasant to use on a daily basis.
So far Git integration seems good, but I have only used it on some smaller projects.
Here's a moaning email I sent to a few devs I work with in April re: TFS:
"...In the office it's slightly better, but TFS is still slow. This is just the tip of the iceberg with TFS though.
Open TFS explorer - 20-30 seconds
Open a folder in TFS explorer - 20-30 seconds
Rename a file - forget it, go and get a coffee
Add a file - forget it, go and get a coffee
Delete a file - forget it, go and get two coffees
Edit a file - Often I see "Waiting for a required operation to complete..." -- see below
Then when you add into the mix that I'm on Virgin media who are the shittest internet provider on earth and who clearly do traffic-shaping on VPN connections; and they constantly drop my VPN connection, which will cause TFS to lock-up -- you might start to see why I'm going slightly insane.
Yet when I work on a pet open-source project with Git everything is sweetness. It seems like the Visual Studio team just started again with their Git integration. It doesn't even have to reload projects when you sync and a project file has changed, it just happily merges it in.
Ultimately even if we host TFS on the best server known to man, I won't ever get over the fact that Virgin media are going to be constantly fucking me over. So a local-store makes much more sense. TFS has a local-store mode, but (incredibly!) its performance is worse than the server version. It seems to be because our store is too large for it (over 100,000 files).
I think it just goes to show how awful TFS is if they can't even create a local database which can manage 100,000 files.
I see this error all the time (on VS 2012 and VS 2013):
[Picture of the 'Waiting for required operation to complete dialog']..."
Sorry if I'm bitching about your work, but it seems the Git integration is the only real game in town right now. It really is very impressive compared to the other options.
I'm sorry to hear about your performance troubles with local workspaces: 100,000 files in a local workspace should not be at the upper limits, I wouldn't think. Many people 'round these parts were using local workspaces for their VS 2013 development: my working folder mappings appear to be 25 GB and 120,000 files for VS 2013. Concurrency and locking, of course, could affect that, but I'm still surprised.
I trust you're not doing anything wacky like trying to put your working folders on USB sticks or SMB mounts, so I would recommend either opening a question on the MSDN support forum or (better) opening a support ticket. Our support engineers are really quite good and might be able to assist, or at least understand why you're seeing this performance with local workspaces.
(I regret that we cannot fix your internet provider.)
> I trust you're not doing anything wacky like trying to put your working folders on USB sticks or SMB mounts
Nothing crazy, repository is sitting on an SSD drive.
If you're working on the Git side, then all I can say is: great job! I'm hoping to move our source repository over Git soon... I can't handle staying with server/local workspaces much longer, but as with all things like this it's about finding the right moment for the team to switch.
Tretraphobia it's called, and it's a serious thing: http://en.wikipedia.org/wiki/Tetraphobia
They do however work in some tooling support
Both as a user and a Microsoft employee, I'm happy to have minimal secrets and surprises when it comes to dev features. Early info and access usually means better software.
"Given that this is a very early build, please install in a test environment with no earlier versions of Visual Studio installed."
I had a brief moment of panic thinking that this version wouldn't co-exist with others after reading your post. :)
>"Installing a CTP release will place a computer in an unsupported state. For that reason, we recommend only installing CTP releases in a virtual machine, or on a computer that is available for reformatting.
>Currently, Visual Studio "14" CTPs have known compatibility issues with previous releases of Visual Studio and should not be installed side-by-side on the same computer."
I don't know how serious that statement is, or maybe it's just a big blanket clause. But it seems like they really, really think you shouldn't install them together.
That's what I use, you can find the Windows 8.1 Ent Evaluation here
http://technet.microsoft.com/en-us/evalcenter/hh699156.aspx
I think they give you a key by registering for 90 or 180 days to evaluate it and try it out for free. Make a virtual machine in Vitualbox.
I choose Virtualbox because it has a GNU/Linux and OSX version, unlike VirtualPC so you can run virtual machines on GNU/Linux and OSX systems.
Some people like VMWare, others QEMU, and some use what Microsoft has. But Microsoft has these evaluation ISOs for free for a limited time so if one runs out, just reformat and reinstall it in a virtual machine to test it out.
And how does the VS team even get the signing keys to ship a new Windows kernel?
I have multiple monitors and tend to have several programs open. I like knowing where my input focus is.
I've been using it for years and have never had a problem.
Why haven't you mentioned a single specific bug? If there are too many, tell us about the ones that you think are show-stoppers.
http://connect.microsoft.com/VisualStudio/feedback/details/8...
2. I use ctl-shift-f a lot where I double click the matches and it takes you to the code windows. That always stops working after a few hours.
3. Web service in a solution no longer spin up automatically. I have to start them manually everytime I open VS. Combined with point 2 is extra annoyance.
4. Connecting to Azure via Server Explorer -> Windows Azure -> Connect to Windows Azure requires me to first go do some other random thing otherwise I get a non-nondescript 'network error'
5. I upgraded to update 2 and it quietly turned a number of crucial references to 'Copy local = false', which didn't stop the app working on my machine because I had the sdk installed of the relevant library, it only broke on test machines.
6. Not that I use it much, but yesterday I noticed the WPF designer randomly stops me from changing simple properties such as margins. It works for some properties and not the others.
Also, Microsoft doesn't want to kill the desktop. Enterprise uses the desktop, so it's staying for the foreseeable future. Full stop.
I don't want to run Visual Studio on my phone. But if I get say a Surface Pro device, I'd like to not have to switch back and forth between two totally different worlds all the time, without giving up modern amenities like resolution independence, etc.
For example 'visual clues' in the Classic Windows have minimize and maximize buttons and the "X" button means close. These Modern GUI Windows, where are the 'visual clues'? It breaks the way Windows is supposed to work.
You have to drag the mouse to the bottom or top right side of the screen to access the 'Charms Bar' to do stuff in it, and Windows-C as a shortcut. I tried the touchscreen and it is a nightmare trying to make the correct type of swipe. Sometimes it does things you don't want it to do.
Plus a lot of desktop apps cannot be converted to Modern GUI mode because it lacks the gadgets the desktop has to make things easier to use. The Visual Studio IDE for example has so many tool icons and toolbars that not all of it will fit in a Modern GUI screen. It would need a major rewrite of the GUI, and force all developers to relearn all of their Visual Studio skills.
Remember when Office 2007 made that Ribbon bar? It was worse than Clippy the Office Assistant type of annoying.
Many compared Modern GUI to New Coke, the Classic Version was always better. If not for Desktop mode I could not use my Windows 8.1 Pro device.
So, you start a new thing and add continuously "new features" that are simple and elementary as hell. Years of safe development of elementary features that may simply be included in the first version of software - but they aren't. In Windows 8.1 you don't need to stick with static background colors. Wow, what an update and development achievement. Couldn't foresee that user would like that.
I think that Modern UI becomes more and more user-friendly but it takes time because you simply cannot make final product with first version because then the next versions wouldn't shine.
It works great. I don't use any Metro apps on my Surface Pro. Click, Double-Click, Drag, Drop, Right-Click - it all works very, very well.
Speaking personally, due to the massive size of modern screens, the only application I run full-screen any more is my video player. Metro is a non-starter for working with multiple overlapping windows.
I normally develop with at least 6 windows in frequent use - two browsers (one for doc / misc and one for app) and 4 terminals (two for simultaneous login to front and back nodes, one running the app along with mysql sessions, and one running emacs).
The idea of using a single full-screen dev environment, or perhaps with one other window docked to the side, seems ridiculously inefficient. I need to see those other windows. I'm frequently tailing logs, running tests in the background, provisioning VMs, all little things that need to be visible so I can see when something goes wrong and I need to take action.
--No offense meant by "toy"--
So aimed at non-programmers but with some modern stuff like the ability to talk to restful services.
VS2013 introduced a lot of C99 (enough to compile FFmpeg), VS2013 update 2 introduced more C99 (compiling almost x264 and a bit further VLC). This update adds some of the biggest issues, related to printf and scanf formats, and fixes more C99 reported bugs.
From the VC++ blog: "Most of the remaining C99 library features are implemented."
I love to hate Microsoft like the next guy, but they've done a lot on C99 lately.
Flexible array member, I haven't checked yet.
So, now there's new stuff that will keep me from typing into the IDE without hanging up and causing delays.