How do I see the guid while debugging VB code in VS2008? - vb.net

On my last machine I had created a way to see a GUID variable while debugging by hovering over it. I don't remember what it was (a visualizer?).
I have a new 64 bit machine with vs2008 - is there anyway to mouseover a guid value and have it appear? What makes guid's so special that their value doesn't show like most variables?

I wrote a blog article on how to do this awhile back. It doesn't require a visualizer and the results will just show up automatically.
http://blogs.msdn.com/vbteam/archive/2007/09/28/customizing-displays-in-the-debugger-for-system-types.aspx
Also, this is fixed in VS2010 such that the GUID will always display inline by default. No extra steps necessary.

You might be looking for this visualizer:
http://devmatter.blogspot.com/2006/04/guid-debugger-visualizer-for-visual.html
Unfortunately, it doesn't look like it works in Visual Studio 2008.
EDIT: Here is the posting from the developers site: http://www.codechimp.org/Blog/post/New-Download-GUID-Visualizer-for-Visual-Studio-2005.aspx Doesn't look like he has worked on it since then.

Related

Unusual behavior of Intellisense in VB.Net 2017 in IF statements

Note: it is quite possible that I am being an idiot about this issue. If so, I apologize in advance. I did some looking (here and on other sites) and didn't see an answer. Perhaps I didn't properly phrase my search terms. Again, my apologies.
This behavior I am seeing started with VS 2017 and did not happen in prior versions of VS.
What happens is when I am typing an IF statement in VB.Net 2017, Intellisense and auto-complete either does not happen or changes my input to something completely different, and very un-helpful. To get back to the functionality I would expect, I have to stop what I am typing and space over and type: )then and press Enter. Then, when I go back into the body of the IF statement to specify the test condition, Intellisense and auto-complete work as expected, and as they did in previous versions of VS.
Is anyone else having this issue? Is there something that I can do (switch setting, etc.) to get rid of this annoyance? I would have to imagine that there is a setting somewhere that would fix this that I am unaware of.
Thanks in advance,
Bob Kiser

Visual Studio replaces DataTable with TypedTableBase

Using Visual Studio 2008 in order to compile for Windows Mobile 6 devices, I get an issue where changing anything involved in a DataSet results in the error genasm.exe(1): error There was an error finalizing type. GenericArguments[0], 'Mobile_Verification.ScanData+TRANSRow', on 'System.Data.TypedTableBase1[T] violates the constraint of type parameter 'T'. on the next build.
Selecting this error takes me to Microsoft.CompactFramework.Common.Targets, where there is an error on
<Target
Name="BuildAsmmeta"
Condition="'#(None)'!=''">
<BuildAsmmeta <!-- This is where the error is -->
.....(contents)
>
stating The element 'Target' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element 'BuildAsmmeta' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. List of possible elements expected: 'Task, PropertyGroup, ItemGroup, OnError in namespace http://schemas.microsoft.com/developer/msbuild/2003'. Kind of strange for automatically generated code.
On comparing source controlled code to the new code, I find that Visual Studio has changed all instances of
Inherits Global.System.Data.DataTable
Implements Global.System.Collections.IEnumerable
to
Inherits Global.System.Data.TypedTableBase(Of MyRowName)
Now, in the past, when this has popped up, I've been able to just revert my changes so everything is happy. Now, however, I have some changes of substance to make to the dataset, so I would really like to make this not be an issue anymore.
Searching for solutions, however only seems to give fixes going in the opposite direction: Visual Studio forcing a DataSet when a TypedTableBase is expected. Digging in seems to suggest that the issue might have been introduced to our code when we upgraded from .NET CF 2.0 to 3.5. Apparently TypedTableBase is just the way to do things now, and Visual Studio is enforcing the new paradigm. The fixes suggested here do the exact opposite of what I need.
All well and good, except something is apparently broken in the translation. So now I'm left with three options:
Keep manually fixing it every time I need to change the DataSet
Prevent Visual Studio from automatically changing my DataTables to TypedTableBases.
Figure out what is broken in the new TypedTableBase implementation, and fix that. Specifically, since the error is only being thrown in Common.Targets, and there isn't anything showing in my code, what part of my code is it exactly that the auto-generated code is having a problem with, and how do I get it working?
I would try to find any more details to give, but my boss is telling me it's time to get out of the office. If there is anything else that might shed some light, let me know and I can look for it tomorrow.
Thank you.

Visual Studio 2015 Keep Turning Off the Pretty listing (reformatting) of code Option for VB

For some strange reasons it un-checks the Pretty listing (reformatting) of code option from time to time.
I have to keep turning it back on to keep my code "pretty" :-)
This has never happened on VS2013.
Just wondering does anyone have the same issue?
While my previous answer is a decent workaround, it's now been 10 months since this question was originally asked and it seems like most days Pretty Listing decides to turn itself off, and it's getting more frustrating. So here's another workaround that might lead us to the cause of this bug.
I wrote an extension that periodically checks if Pretty Listing has been turned off. If it has, it turns it back on and shows an alert at the bottom of the screen so we can hopefully work out what caused it to turn off in the first place.
It checks every 30 seconds, but you can lower this if you like (check the description on the extension page).
You can get the extension here: Pretty Listing Fixer
I've encountered the same problem (both with and without ReSharper installed, so that doesn't seem to be the problem). I "sent a frown" to Microsoft about this some time ago but have heard nothing back.
While this isn't a "fix", I have come across a handy workaround. Since "pretty listing" and the "Format Document" command give the same result, all you need to do is run that command.
I found this extension which automatically runs the Format Document command when you save. Now, even if "pretty listing" does get mysteriously turned off, I still end up with my code being formatted automatically.
This won't solve the problem as such, but there is an example of how to set the Pretty Listing option directly using a macro, here: Turn off pretty listing in visual studio
So you could set up a macro which you can run easily with a hotkey when needed. If that code doesn't work, I recommend the ever-magnificent AutoHotkey (www.autohotkey.com) to do the same thing via a series of keystrokes.

Where does Visual Studio get the data intellisense and name-space completion

I admit...I am posting this question because I still don't have an answer to my other question and thought I would take a different tact.
Can someone explain to me WHERE the values for intellisense and namespace/class/member completion works. I figured if I can drill into where/how it is deriving that data I can try to reconfigure my project so that it will resolve my namespaces correctly.
Seth
The name space and intellisense information, for the CLR, comes from a database hidden inside the VS install.
The information for the working project, is scanned and archived (I think in a file) when you open the project. It then periodically updates it as you work.
If you want the exact path, I doubt that Microsoft publishes that information.
After looking at your other question, I wanted to add that it is possible (somehow) to have Visual Studio rebuild the index information for a given project. It eludes me on how to do this right now. Have you tried this and did you end up with the same results?
Update in regards to comments:
Refreshing the cache is easy but not
necessarily obvious. There are two
ways to refresh the cache: 1) Go to
Edit -> IntelliSense -> Refresh Local
Cache and 2) Hit Ctrl+Shift+R
Source: Dan's Blog - Refreshing the IntelliSense Cache
I don't know how it's done in Visual Studio, but here is the general approach:
Collect all the public members and methods.
This is done, in case of managed libraries like those produced by VB.NET, by reflection. The documentation comes from xml files related to those libs. That's the approach for Referenced libraries.
For the project you are currently working on, it just constantly parses the source files where the documentation is combined with the code.
How the namespace resolving is done depends on the language offcourse, but that is answered in your other question.

IntelliSense not working VS2008 VB.Net

I realize this question has been asked before, but I was not able to find anything that worked for me yet.
Things I have tried:
Switched settings back to default (mulitple ways)
Project Builds/Compiles fine
Closed VS and restarted
The only thing I haven't been able to try is deleting the ".ncb" file, but that's only because I can't find it. In fact not a single one of all our projects have such a file!
So the first question is why can't I find this file in the solution's root directory? The only file I have there besides the .sln is the .suo.
Then if that doesn't work what other options do I have short of un-installing and re-installing?
As for how it happened this might help. While using VS2008 and VSS6.0 (yuck) I made a number of changes to a lot of files via Find&Replace that I didn't mean to(had Entire Solution selected instead of current document). To undo the changes I exited without saving, reopened the solution, then Undid checkout. After that I lost intellisense! I can't imaging how they're related but it might help.
Thanks,
Jeff
IntelliSense usually stops working when it can't compile correctly. Try a new simple project from scratch and see if it works, if it does you have your answer.
Is this for C++ code? If it is, my suggestion is not to try fixing built-in IntelliSense at all, rather try some 3rd party replacement. My favourite is definitely Visual Assist X, which is lot more robust (it almost never stops working, and it is able to parse even very complicated templated and preprocessed stuff, which often makes IntelliSense "lost".
Visual Assist works with other languages including Visual Basic, however this is something I have no practical experience with. Still, there is a free trial - you may try it, I expect it will be superior to IntelliSense even for VB.
Answer:
I figured out how to fix it. Apparently while I was undoing those changes I somehow excluded the file that I wasn't getting intellisense in from the project.
I just right-clicked on it and said "Include in Project" and viola! Intellisense worked again.
Sorry for the false alarm but I appreciate the effort.
Jeff