Posts Tagged ‘visualstudio’

When the best is not recommended.

A lovely quote from the Visual Studio 2005 documentation (found through searching index for /W4):

Level 4 displays all level 3 warnings plus informational warnings, which in most cases can be safely ignored. This option should be used only to provide “lint” level warnings and is not recommended as your usual warning level setting.

Not recommended is actually pretty strong, but I can see why Microsoft might say that. But the very next line goes on:

For a new project, it may be best to use /W4 in all compilations. This will ensure the fewest possible hard-to-find code defects.

So it’s recommended, then? Or would recommended be too strong a word?

It seems likely to me that these paragraphs were written by different writers, and whoever made the second change didn’t read the first writer’s work.

Visual Studio vs. Xcode

Working with Xcode and Visual Studio on a day-to-day basis, it’s natural that I’d compare the two tools. The following is not intended to be an unbiased comparison. These are my opinions only. They’re based on how I work, and how I expect tools to work.

Project Configuration: Xcode
Xcode wins cleanly for its configuration editor, which can display all settings at once, predefined groups of settings, or only customized settings. Visual Studio, by comparison, can only display predefined groups of settings. Putting Xcode even further ahead is its ability to filter the settings view as you type. Visual Studio gets some points for having a more capable path editor, but that’s really all it has going for it.

Subprojects: Visual Studio
Visual Studio does Xcode one better by showing all the details of the subprojects, including exactly which sources make it up, right in its solution explorer.

Editor: Xcode
Xcode scores a weak win here for having more useful keyboard customizations available. Part of this is the additional meta key available on the Mac.

Window Management: No winner
Visual Studio offers more in the way of window management, but the options are not ones I find useful. On the other hand, Xcode offers more styles of working, but I only use one of these as well. Comparing Visual Studio’s style with Xcode’s, I see no advantage to either.

Stability: Xcode
Visual Studio’s Intellisense is worse than useless, making it impossible for me to work unless I use an undocumented trick to disable it. A quick Google search shows I’m not the only one having problems.

Price: Xcode
Xcode is free. Visual Studio isn’t. Adding a replacement for Intellisense makes Visual Studio even more costly. (Swapping out hardware to prove to management that Visual Studio was the culprit and not my system made it even more costly.)

CVS: Visual Studio
Visual Studio does not include CVS integration. Xcode’s CVS integration does not work for me. It would be a draw, except that Xcode’s textual project files have minor differences when the project is cleaned vs. built. (I’ve been told this will be fixed in Xcode 3.)

Menu Layout: Xcode
Xcode provides a more logical menu layout, with fewer regularly used commands in sub-menus. In particular, Visual Studio banishes search/replace tools to a sub-menu of Edit. Visual Studio offers a way to customize menu commands, but I’d much rather have a logical if locked layout.

Source Search Tools: No winner
While I find Xcode’s search tools more useful, both sets are so pathetic that I refuse to give it a win here.

Visual Assist X

Whole Tomato Software makes a product called Visual Assist X that makes Visual Studio’s text editor almost tolerable. This replaces the evil demonic spawn Microsoft calls “Intellisense” with something that doesn’t seem to crash.

Are we talking about the same Visual Studio?

Every time someone tells me how great an IDE Visual Studio is, I wonder if we’re talking about the same Visual Studio. Just to be clear, the one I’m using is from Microsoft.

Here’s an error message I ran into today. See if you can guess what it means; it occurs when you try to drag a source file into your project.
Visual Studio Error

The text, in case you don’t want to look at the picture closely, is “A file, filter, or folder already exists at the current scope in project ‘calc’ or access was denied for the desired operation.”

Give up? It means That file is already in your project. It does not mean it is in any particular place in your project, and the group it is in is probably hidden.

I hate overloaded error messages. I hate overloaded error messages where each overloaded error message makes no sense even more. I call for the head of whoever wrote that message! I’m not singling him out; I want the head of everyone who writes useless error messages. And yes, I know that includes my own head, but I’ve already got it, see…