VS2005 C#: User Testing

Tech-Archive recommends: Fix windows errors by optimizing your registry



1. A using is underlined in blue with the error
The type or namespace name 'Drawing' does not exist in the namespace
'System' (are you missing an assembly reference?)

The answer, of course, is
Probably

So i right click and look for the menu option saying
Include namespace 'Drawing'

Hmmm...refactor, rename, extract method, insert snippit, go to definition,
outlining. Nope, can't find it.

*google*

Oh, i need to bring up the solution explorer and then pick the one file out
of hundreds on multiple tabs? Can't you have just given me the option?

2. "The type or namespace name 'Windows' does not exist in the namespace
'System' (are you missing an assembly reference?)

Oh for crying out loud, i have to do this for every one? Obviously i want to
include it, i put it in my usings. Do whatever it is you do to make it
available in my usings.

Still can't right-click and say "Add reference to 'System.Windows'


3. The type 'System.ComponentModel.ISynchronizeInvoke' is defined in an
assembly that is not referenced. You must add reference to assembly 'System,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

So i right-click, and again i can't find an option saying "Add reference to
'System'"

Maybe i can right-click on the error down here in the "Error List". Nope, no
option to "fix it" there either.

4. Every time i manually add one of these references, the error highlight
doesn't go away. i have to go to Build, Build Project1. Can you update ala
Word/Excel/editors/Eclipse/etc?

5. On the line
backgroundBrush = new TextureBrush(new Bitmap("CoffeeBeanSmall.jpg"),
WrapMode.Tile);

ArgumentException was unhandled
Paramterer is not valid.

Ummmm, which parameter? So i click "View Detail" and a small window, with a
single uninformative entry that starts as collapsed (should be expanded by
default) appears. So i expand it, and see nothing useful, except a stack
trace line. When i hover over the item, i get a hint that contains 3 lines
of non-formatted text, with embedded "\r\n" and ends in a "..." as my stack
trace.

6. Could start off with a larger, well thought-out "View Detail" box? Could
we format the stack trace?
node - which is again collapsed by default.

7. Ah, now i see i can drop-down the stack trace, and what appears is
essentially a sizable hint window. Can we get a real window, with no
wrapping and a horizontal scroll-bar, and a maximize button so i can quickly
see the stack trace nicely formatted - rather than having to expand the hint
window until it stops scrolling?

i see, it doesn't like the filename i passed to the Bitmap constructor. No
problem, i'll just add the image to my project.

8. Right-click Project1->Add
Hmmm... "Existing Item" is grayed out. Must be because the program is
paused. Can we change it so i can just do stuff while the program is
running? It's not like you're going to be rebuilding it. Anyway, i
terminate all.

Right-click Project1->Add->Existing Item

9. Run it again, as now it should find it as a resource, and not be trying
to find it as a file on the hard drive. Is there no default key combination
to do a build/error check? Why not?

Still fails. i must need to call some overload of Bitmap constructor so it
uses the resource by name. i'll just check the overloads.

10. Can we get code-insight to so more/all of the overloads of a method,
rather than having to scroll up/down one at a time?

11. The only overload that looks promising is
Bitmap.Bitmap(Type type, string resource)
type: The class used to extract the resource.

The "class"? i dunno, i guess i want a resource extracting class - which it
should be using already since i'm giving it a resource name. Well, let's
check the help:

type
The class used to extract the resource.

Bugger.

12. Can we get some more explanation of what you're talking about in the
docs?

Well, the example in the docs uses
Bitmap bmp1 = new Bitmap(typeof(Button), "Button.bmp");

Okay, i'll change my code to:
backgroundBrush = new TextureBrush(new Bitmap(typeof(Button),
"CoffeeBeanSmall.jpg"), WrapMode.Tile);

Error:
Resource 'CoffeeBeanSmall.jpg' cannot be found in class
'System.Windows.Forms.Button'.

Ahhh, i get it. i have to give it the class of my....application? What?
backgroundBrush = new TextureBrush(new Bitmap(typeof(Project1),
"CoffeeBeanSmall.jpg"), WrapMode.Tile);

The type or namespace name 'Project1' could not be found (are you missing a
using directive or an assembly reference?)

Answer:
Maybe, i don't know, quite possibly, you tell me - is a project a class
also?

Right-click. Maybe there's an option now to "fix it". No, of course not.

Try googling - nope can't find anything. Screw it, i'll change the code to
backgroundBrush = new TextureBrush(new
Bitmap("c:\\CoffeeBeanSmall.jpg"), WrapMode.Tile);


Misc:

13. File->Open->Project Solution
The "File of Type" combo-box only drops down to show 6 items out of
about 16. Can we just default the drop-down to 25 items?

14. The "File of Type" combo-box does not support the mouse-wheel when
collapsed to browse the of types.

The real problem is that i don't know which magic file types are "openable"
so i just want to zing the mouse wheel until the files in my folder appear
and then i can open them.

15. There is no "All Files" option at the end - like most dialogs have.
Makes it hard to browse my hard drive when i can't see where i am because no
files match the secret criteria. Yes i could just type *.*, but give us the
option; it's what a Windows appliation would do.

16. i want to add a file to my project "File->Add" only has "Existing
Project" and "Existing Website", why not add "Existing File" ? Fumbling
around i see an alternative option under "Project->Add Existing Item",
strange since it's pretty much the exact same terminology for the exact same
concept.
One is
- Add -> Existing
the other is
- Add Existing

i'm sure the separation a very good reason why it won't be changed.

17. Every time i start a new project you reset my "current directory."
Don't do that. It was my current directory for a reason. Now i have to
browse back to it again. You're free to create files on the hard-drive when
i ask for a new project (although i would think you shouldn't NEED to create
any files until i save something).

18. Let me Ctrl+Click on a variable/class to jump to it's declaration. It's
done in other products, but that's not why you should steal it. You should
steal it because it is "web-like". Everyone intuitivly these days wants to
click on something to go into it.


End of part 1.

postscript. This is from the viewpoint of someone who is new to Visual
Studio altogether, not knew to programming. i tried carefully to separate my
not knowing the language from my not knowing the IDE. The IDE is a Windows
application, and as such should follow certain ease of use standards.

Also, i think i'm a bit spoiled by what Eclipse can do - even though there
are things in the Eclipse IDE that i can't stand; some of which Visual
Studio also does.


.


Quantcast