About VC# 2005 express "error list"

K

kimiraikkonen

Hello,
I'm very new to C# and just installed VC# 2005 express edition and i
have VB 2005 express installed previously. But i saw a thing which may
be called as a "Visual C# 2005 express" bug?

For example, in VB 2005 express while i was coding, if there's a
coding error, errors are displayed in error list below the screen
immediately during coding and before starting debugging.

But in VC# 2005 express, if there's a coding error, usually you see
the error in error list AFTER you debug your program or click
somewhere on the screen late. The present syntax errors aren't
displayed simultaneously while you're typing.

Why is there a problematic coding-error tracking problem in VC# 2005
express?

Thanks.
 
P

Peter Duniho

kimiraikkonen said:
[...]
But in VC# 2005 express, if there's a coding error, usually you see
the error in error list AFTER you debug your program or click
somewhere on the screen late. The present syntax errors aren't
displayed simultaneously while you're typing.

Why is there a problematic coding-error tracking problem in VC# 2005
express?

I see two possibilities, neither of which I'd consider a bug:

* The Express editions generally install different default settings
than the retail versions, because they are generally targeted at a
somewhat different audience (even though Express is IMHO surprisingly
useful for even more advanced programming). So it's possible this
behavior is controlled by some user setting, not disabled in Express but
rather just turned off by default. This wouldn't be a bug; you just
need to turn the feature on.

* The Express editions obviously have specific functionality that
is limited with respect to the retail versions. My experience has been
that the sorts of things that are completely disabled aren't basic
usability issues like the one you mentioned, so it would surprise me if
that's the answer here. But it is a possibility, and if it turns out
that there's no user setting to control that behavior, I'd say that the
lack of the real-time error display is a consequence of an intentional
design difference between the two versions. Again, this wouldn't be a bug.

I haven't really spent any time looking into this, so I can't tell you
whether there's a user setting, and if so where it is. But I don't
think that I'd call the Express edition's behavior a "bug". Whatever
the explanation, it's more likely it's an intentional part of the design
of the software.

Pete
 
J

John B

kimiraikkonen said:
Hello,
I'm very new to C# and just installed VC# 2005 express edition and i
have VB 2005 express installed previously. But i saw a thing which may
be called as a "Visual C# 2005 express" bug?

For example, in VB 2005 express while i was coding, if there's a
coding error, errors are displayed in error list below the screen
immediately during coding and before starting debugging.

But in VC# 2005 express, if there's a coding error, usually you see
the error in error list AFTER you debug your program or click
somewhere on the screen late. The present syntax errors aren't
displayed simultaneously while you're typing.

Why is there a problematic coding-error tracking problem in VC# 2005
express?

Thanks.
This is not a bug.
c# doesnt do continual incremental builds as vb.net does (this is a good
thing) and therefore does not have the ability to highlight syntax
errors "on-the-fly".

JB
 
P

Peter Duniho

John said:
This is not a bug.

I think that's probably true. But...
c# doesnt do continual incremental builds as vb.net does (this is a good
thing) and therefore does not have the ability to highlight syntax
errors "on-the-fly".

That's definitely not true. In the retail Visual Studio 2005 that I
use, C# is constantly evaluating what I type, highlighting errors and
listing them in the error output pane.

Pete
 
C

Chris Dunaway

I think that's probably true. But...


That's definitely not true. In the retail Visual Studio 2005 that I
use, C# is constantly evaluating what I type, highlighting errors and
listing them in the error output pane.

Pete

But it does not do nearly as much as VB does. For example, in VB if
you used a line such as this:

Dim obj As SomeTypeName

and SomeTypeName was not defined, you would know it immediately as an
error would be in the error list. In C# you wouldn't see an error in
the error list until you compiled the program. I know that C# catches
some things immediately like missing parentheses, braces, or missing
semi-colons, but VB's background compiler catches practically all
compile time errors without hitting the compile button.

Chris
 
J

Jon Skeet [C# MVP]

But it does not do nearly as much as VB does. For example, in VB if
you used a line such as this:

Dim obj As SomeTypeName

and SomeTypeName was not defined, you would know it immediately as an
error would be in the error list. In C# you wouldn't see an error in
the error list until you compiled the program.

It might not be in the error list, but it's still clearly indicated.
SomeTypeName would be in red, and if you were just missing a "using"
statement it would offer to add it for you.

Given that while I'm typing code I'm looking at the code window rather
than the error list, I don't think having it in the error list as well
would add much value. It's not like I often move onto the next block
of code without getting the current one right.

Jon
 
K

kimiraikkonen

I don't know the exact reason but it's NOT good. IN VB.NET 2005
express, there's no need to compile/debug your project to see if your
project has syntax erros. They're shown in error list "immediately".
But in C# some mistakes are shown after clicking somewhere blank, or
after you try to debug/compile it.

Is it special for C# or is it because of "express" edition?

Thanks.
 
J

Jon Skeet [C# MVP]

I don't know the exact reason but it's NOT good. IN VB.NET 2005
express, there's no need to compile/debug your project to see if your
project has syntax erros. They're shown in error list "immediately".
But in C# some mistakes are shown after clicking somewhere blank, or
after you try to debug/compile it.

Is it special for C# or is it because of "express" edition?

It should be fine even in Express. It may not catch *every* syntax
error, but it flags up most errors in my experience.

Then again, I believe in compiling pretty regularly in the first
place. So long as it's quick to compile, there's no real issue.

Jon
 
P

Peter Duniho

Chris said:
But it does not do nearly as much as VB does.

Since I don't ever use VB, I can't compare VB to C# with respect to IDE
behavior. But that doesn't mean that C# doesn't do any code-checking
"on-the-fly".

VS definitely does highlight syntax errors "on-the-fly" even in C#, at
least some of them, and it's that to which I was responding.

Pete
 
J

John B

Peter said:
I think that's probably true. But...


That's definitely not true. In the retail Visual Studio 2005 that I
use, C# is constantly evaluating what I type, highlighting errors and
listing them in the error output pane.

Hmm, seems you're correct.
It never used to(I think) in 2003, personally I have the error window
minimized to maximise code realestate.
It seems finicky about what it picks up though.
If I miscase a variable name or misspell a type name, it doesn't pick it
up until compile time (VB.NET does).

VB.NET highlights the actual lines in the code window too.

Thanks,

JB
 
K

kimiraikkonen

Hmm, seems you're correct.
It never used to(I think) in 2003, personally I have the error window
minimized to maximise code realestate.
It seems finicky about what it picks up though.
If I miscase a variable name or misspell a type name, it doesn't pick it
up until compile time (VB.NET does).

VB.NET highlights the actual lines in the code window too.

Thanks,

JB

At least, Visual C# is very late for reflecting on-the-fly error
reporting. VB.NET reports errors immediately after you finish typing
syntax or jump to another lines. But i saw in C# express (2005),
there's a delay, latency about reporting errors, you must click
somewhere or try to debug it to see if there are really errors.

However, it might be about C# coding discipline, structure or sth
else.

Thanks.
 
J

Jon Skeet [C# MVP]

At least, Visual C# is very late for reflecting on-the-fly error
reporting. VB.NET reports errors immediately after you finish typing
syntax or jump to another lines. But i saw in C# express (2005),
there's a delay, latency about reporting errors, you must click
somewhere or try to debug it to see if there are really errors.

Again, this is not something I've seen, though it's been a while since
I've used Express.
As I use ReSharper, it's hard to say what the "vanilla" 2005 C#
experience is, but if I type a statement without a semi-colon, for
instance, it's highlighted less than a second later. That's perfectly
acceptable as far as I'm concerned.

You *certainly* don't have to debug it though - compiling it will be
enough.

Jon
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top