blog
The SampleDocViewEditor from the Visual Studio 2008 SDK is useful for figuring out how to create a designer view for an xml file. However, as noted by Nikita Frolov, there is some trickery involved that will cause it to not work for you if you use a different extension. I found out that if I change the test extension, used in the sample, to something else (say, .testaddin), it would not receive "View Code | View Designer" options in following situation: 1. Create a new project 2. Add ".testaddin" ......
I attended the MVP Global Summit 2009 in Seattle/Redmond, Washington a couple of weeks ago. I had a pretty good time hanging out with other MVPs and the Managed Languages team. I learned a lot, and I had a blast every evening. One of those evenings was at the Experience Music Project, and I promise I will post Steve Andrews, "I love TFS" if I can find the video. Here's the opening video for the event, followed by a behind the scenes look with Karen Young ......
One of the things that confused me about the attributes used to decorate a Visual Studio were the hardcoded guids in the examples. I didn't know where they came from or what I could use. In fact, I had the impression I had to generate my own guid for each definition like how you need to assign one for an editor factory. It turns out that these are defined guids that you must use for certain activities. They're defined in Microsoft.VisualStudio.VSCo... as static readonly. Like String.Empty, this ......
IE8 has been officially released and the download is available. So why should you download IE8? Well, out of all the new features, accelerators are the best! No, it isn't some trick to load web pages faster. Instead, accelerators accelerate your own web browsing experience. For example, just yesterday, I had to find the meeting location where I was giving a presentation. I also need to pull up directions. After I found the address, here's what I would have to do in other browsers to get directions: ......
The managed package framework for Visual Studio eats exceptions. I discovered this while building my own editor. I started with the package that the wizard creates for you, but I needed different designer rather than the rich text box it gives you. I initially attempted to gut the designer and implement my own functionality. However, it kept throwing a strange exception on me that I could not correct. I reverted back to the designer that was there, then created a DecisionTablePane class and implemented ......
When developing plugins for Visual Studio 2008, your testing is done in what's known as an experimental hive. It's essentially Visual Studio running in a testing environment. This keeps your unfinished plugins from being added to your "real" Visual Studio environment. Unfortunately, this experimental hive tends to become junky. After going through tutorials, you're bound to have all kinds of unnecessary elements added to the IDE. I spent some time trying to clean this out, and I discovered that the ......
When I ran code analysis on my project, I predictably had some complaints concerning naming. Obviously, kodefu is not a dictionary term. The solution is to add a custom dictionary to the project. <Dictionary> <Words> <Recognized> <Word>Kodefu</Word... </Recognized> </Words> </Dictionary> I added this dictionary and reran code analysis. Complete fail; it still did not recognize kodefu. Whoever wrote the msdn documentation forgot to mention an essential ......
It appears that I missed an important method that belongs to Type when making the extension method IsType. Jason Olson pointed out that type.IsSubclassOf would provide the functionality necessary to fulfill my coworker's requirement. The functionality and implementation of IsType is a little different, however. IsType will check the current type then recursively checks each BaseType. IsSubclassOf will return false if the original check indicates that the types are identical. Also, it uses a while ......
A coworker approached me earlier with a scenario that involved using reflection to find all of the properties in a class that were derived from a specific type. I walked through using reflection to do this, but then I was unable to find a way to interrogate the inheritance chain to determine if the type derived from the type we cared about. You can use the "is" operator because the type is Type, not an instance of the type. I ended up making an extension method to do the job. Of course, one could ......
I like Microsoft's vision of the future, but we seem to have given up on flying cars and robots that do all the work for us. Danger, KodefuGuru! Video: Future Vision Montage ......
Zune Game Development Using XNA 3.0 by Dan Waters will be released on March 23rd. Here's the product description: XNA 3.0 brings you the ability to create games that will run not just on the PC and Xbox 360, but also on the Zune mobile device. While creating games for Zune is, in many ways, similar to working on the other platforms, it also presents its own unique set of challenges and opportunities. Smaller screens, limited storage, and less processing power all affect the way you need to think ......
Daylight Savings Time went into effect this past Sunday, and nearly all of my devices updated correctly. However, my Windows XP work PC didn't. My first inclination was to check the date/time settings. It was set to Eastern Standard Time, and the checkbox for adjusting for daylight savings was checked. I then set the clock ahead an hour, but a few minutes later it reverted back when it synchronized with the time server. I contacted the system administrator, and he said that my workstation was one ......