.NET Forum / Languages / C# / October 2007
About VC# 2005 express "error list"
|
|
Thread rating:  |
kimiraikkonen - 17 Oct 2007 21:15 GMT 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.
Peter Duniho - 17 Oct 2007 23:35 GMT > [...] > But in VC# 2005 express, if there's a coding error, usually you see [quoted text clipped - 4 lines] > 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
John B - 18 Oct 2007 03:02 GMT > Hello, > I'm very new to C# and just installed VC# 2005 express edition and i [quoted text clipped - 14 lines] > > 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
Peter Duniho - 18 Oct 2007 04:11 GMT > 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
Chris Dunaway - 18 Oct 2007 15:20 GMT On Oct 17, 10:11 pm, Peter Duniho <NpOeStPe...@NnOwSlPiAnMk.com> wrote:
> > This is not a bug. > [quoted text clipped - 9 lines] > > 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
Jon Skeet [C# MVP] - 18 Oct 2007 15:30 GMT > But it does not do nearly as much as VB does. For example, in VB if > you used a line such as this: [quoted text clipped - 4 lines] > 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
kimiraikkonen - 18 Oct 2007 15:57 GMT 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.
Jon Skeet [C# MVP] - 18 Oct 2007 16:27 GMT > 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 [quoted text clipped - 3 lines] > > 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
Peter Duniho - 18 Oct 2007 18:05 GMT >>> 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 [quoted text clipped - 4 lines] > > 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
John B - 19 Oct 2007 00:20 GMT >> This is not a bug. > [quoted text clipped - 7 lines] > 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
kimiraikkonen - 19 Oct 2007 11:54 GMT > >> This is not a bug. > [quoted text clipped - 20 lines] > > 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.
Jon Skeet [C# MVP] - 19 Oct 2007 12:18 GMT <snip>
> 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
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|