domingo, 26 de febrero de 2012 0:34
I used to program in vb and I'm "trying" to move to c# now...
I'm very unimpressed by the intellisense in c#. it simply doesn't work as good as the VB one. I don't know what you guys think, but there's really a BIG difference. and please don't tell that's not true because even a child can spot it.
one of the worst problems that I'm having is when I'm writing inside a method, and I'm at the 2° parameter, for example, the tooltip explaining the method disappear and I need to go back to the (, deleting and writing ( again.
Is this how this thing is supposed to work? I'm trying to find a list of useful hotkeys but I can't find it
(yes i know about the snippets and I checked the options, everything is fine)
Todas las respuestas
domingo, 26 de febrero de 2012 21:59Moderador
That isn't how IS works. The IS engine is the same irrelevant of languages. All a language provides is the items to populate the list. You'll have to provide us examples of how they behave differently in order to explain how one is better than the other. I've used both and I can't tell a difference.
Try running in safemode to determine if an addin is getting in the way of IS. I've seen this issue before and it has always been caused by an addin taking over IS. The net effect is that IS disappears too soon.
Michael Taylor - 2/27/2012
martes, 20 de marzo de 2012 18:29
i'll try with safemode but i think that it has nothing to do with addins (I don't have any). it just behaves differently in a tons of things, like case sensitive stuff, IS menu not appearing sometimes, warnings and errors not clear enough (the same types that in VB.net are ultra-clear), time required for errors/warnings to be noticed and showed up etc etc.
How can you tell that the IS engine is the same when they work against different languages and compilers? this is enough to make it work in a different way. i don't know it, but i guess it must be the reason, since anyone who switched from vb.net to c# feels the same
martes, 20 de marzo de 2012 18:52Moderador
Case sensitivity is to be expected because VB is insensitive but C# is. In C# if you type a capital letter then, following standard practices, IS pushes types and public member to the top of the list as these normally start with capital letters. For lowercase fields and parameters get pushed to the top, again because this is standard practice. For VB case doesn't matter so I doubt it follows these rules.
Error messages have nothing to do with IS so I don't see why you are bringing this up. If you like VB's errors better then all I can recommend is that you go back to VB. VB is nowhere near as complex as C# in terms of language rules (look at the grammars if you don't believe me). So it is generally easier in VB to pick off error cases that C# would have a harder time of narrowing down.
Background compilation is controlled by the editor so it is possible the C# editor is invoking the compiler later than VB. This still has nothing to do with Intellisense so I don't know why you brought it up.
The engine is the same because there is only 1 IS engine in the code. It is the responsibiilty of the language services (VB, C#, etc) to provide the list of items based upon the context. This is fully documented in the VS SDK so you can read it if you would like the gory details.
The only problem you have described that is specific to Intellisense is the issue where it disappears too quickly. I've and many others have seen it before and in all cases it was related to an extension. ReSharper and CodeRush are both known to cause this. You can confirm your C# IS settings via the Tools\Options dialog. The default settings should be fine but you should confirm that it is showing you the items you want.
C# isn't for everybody. If you aren't comfortable with it or you don't want to take the time to learn it then switch back to VB. Nothing in .NET requires that you use C# (or VB for that matter). It is all strictly a matter of taste and what you're comfortable with. However I'll warn you that most languages follow the C-style conventions so you should at least be knowledgeable with one C-style language (such as C# or C++) otherwise you are limiting yourself.
Michael Taylor - 3/20/2012
viernes, 23 de marzo de 2012 13:37
I like C# and I want to switch to C# because the best books and documentation are available for c#. I bought resharper now and I'm much happier about intellisense, it's better than the integrated one for c#...
thanks for your answer