I’m heading back to Ohio next week for another CodeMash. My write-up from last year says it all. And yes, I found my friend Rob again by writing a hand-written letter. I can’t recall the last time I wrote a letter to anyone.
I’m looking forward to chatting with people about CodePlex features and everything else I blog about. Too bad I can’t relive wearing my LSU sweatshirt like I did last year, but I can still try. (LSU beat OSU for BCS championships 3 days before CodeMash.)
And yes, gotta love being an “Adamantium” Sponsor. =D
‘Cause nothing lasts forever… even cold November rain
My most sincere thanks to you for reading the 17 month series. Because of you, people from my hometown are going to college. All because of community inspiring community.
I want to part ways saying community is about people, and don’t let anyone tell you otherwise. It is not the “if you build it they will come” infrastructure theory (that’s just a movie). Community is about the connections we establish and foster. Or better stated by someone whose name I cannot recall, Community is about being excellent to each other.
I *really* wish I could continue, but I haven’t worked on VS in 3 years now. And 80% of the series was written in my personal time. I would tell people I refuse to calculate just how much time I’ve spent writing tips. But now that it’s over, the answer is 12,500 minutes or 208 hours. And no, this doesn’t count the hours writing the book, which I refuse to ever do.
My next quest is to do something with the CodePlex community (my actual day job) like I did here with Visual Studio or Accessibility or the Legal Evangelism Thinkweek paper. yes, i know, i know, “legal what??”
I’ve been waiting a very long time to run some experiments in connecting with the CodePlex community, and finally I can start to play in this space. If you have any ideas for engaging the CodePlex / Open Source community that you think I should try, you know where to find me. Never underestimate the power of community inspiring community.
And now, here’s your final Tip of the Day for Visual Studio 2008, already in progress…
msinfo32.exe
I can never remember the executable name (msinfo32) to start the System Information application.
Fortunately, I can always rely on the Visual Studio Help About dialog to launch the app for me. Go to Help-About, and on the bottom right corner of the page, you’ll see the System Information button.
Clicking System Info will do the same as running msinfo32.exe from the command prompt.
Happy Visual Studio’ing!!!
But don’t unsubscribe yet! Starting in 2009, I plan to create a separate feed somewhere (just not on this blog) to restart the series all over again, but 7 days a week. Stay tuned.
Technorati Tags:
VS2005Tip,
VS2008Tip
This is really a repost from 3 (and even 4) years ago when Tip of the Day was just a weekly series. I’m really glad to hear that Visual Studio 2010 will have multi-monitor support. Really, really glad, as you can tell from the original blog post. Of course, there’s a story behind this which should be told at another time…
Here are some ideas for optimizing Visual Studio (non-2010 versions). Ironically, I don’t use multi-monitors anymore (neck strain) so hopefully I haven’t forgotten to find someone’s machine to take some screenshots.
- Stretching the VS across dual monitors
Put Visual Studio into a restore state, where you can resize it. Then stretch VS across both monitors.
One of the benefits of doing this is to be able to view code in each monitor. You can do a vertical split (Window – New Vertical Tab Group) down the center of the dual monitors. Now you can have code windows on each monitor.
You can also customize the toolbars to place them on which ever monitor you prefer as your primary. Just grab the grip control for the toolbars and drag them over to whichever monitor.
- Viewing Debugging Tool Windows on secondary monitor
Whenever I’m debugging, I prefer to have tool windows like the Watch Window and Output Window on the secondary monitor, with VS occupying the primary monitor. These tool windows have to be either dockable or floating (floating is what you probably want). Resize these windows to occupy half of the screen. Remember, you can use Tools – Import / Export Settings to save your favorite window layouts. And since these windows only appear during debugging, you don’t have to worry about them occupying your secondary monitor when not in use.
- Place External Help on secondary monitor
Put DExplore (Documentation Explorer) on the second monitor, but most of you probably already do this instinctively.
For more ideas, or to read the original blog post, go to http://blogs.msdn.com/saraford/archive/2005/07/20/441126.aspx
Technorati Tags:
VS2005Tip,
VS2008Tip
A while back, when I was collecting Visual Studio tips, the “Open Source” command was pointed out to me. Considering my day job (I’m the Program Manager for CodePlex.com), I couldn’t wrap my head around this command, even after the 2 second demo. After a few minutes, it clicked that it was “open” as in “view,” and not as in “Open.”
In honor of my day job, I decided to showcase this command as a tip. (My blog title made you look, didn’t it?)
In DExplorer (Documentation Explorer), whenever you do a search, you’ll get results by different search providers.
The above example shows a CodeGuru article result. Selecting open will take you directly to the article, but selecting open source will take you directly to CodeGuru.com. In other words, it will open the source of the article.
Technorati Tags:
VS2005Tip,
VS2008Tip
This tip is specific for Visual Studio 2008.
You can easily find the samples that have been installed for Visual Studio by going to Help-Samples. Then in the browser, click on the local Samples folder link.
As the message box states, the samples are in a .zip file, so you’ll need to extract these files before you attempt to build. Otherwise, the build will fail, and you’ll wonder why the samples that came with the product don’t work.
Technorati Tags:
VS2008Tip
I feel obligated to talk about Dynamic Help. In any feature area that I tested, there was always the Help category in the test case bed. The Help category represented things like F1, documentation content, and of course Dynamic Help.
Dynamic Help is a tool window that will always give you a list of related help documents based on your current context.
For example, suppose you’re in an empty C# class with the focus on the keyword class. In dynamic help, you’ll see a list of Help topics including “class (C# Reference)” and “C# Keywords”
And jumping to a WinForm Designer on a button causes the context to change
The Dynamic Help tool window is found at Help – Dynamic Help. I think most of the default settings do not show the Dynamic Help window by default.
Also note that if you are using a Screen Reader (or a similar Assistive Technology Device), you should definitely turn off Dynamic Help by closing the window and permanently saving that window layout. The issue is a Screen Reader is always looking for things that are changing on the screen, especially in the active application, at least back in my day. When I first started learning how to use screen readers, I would hear these random words out of nowhere. It took me a while to realize it was coming from the Dynamic Help window changing context and updating its UI. In addition, you’ll experience some performance improvements when the screen reader isn’t trying to figure out what to read and what to ignore.
Technorati Tags:
VS2005Tip,
VS2008Tip
If you do a search for the phrase “how to create a custom winform control” using the default options in the General Development Environment, you’ll get back 500 results, as shown below.
If you go to Tools – Options – Help – General (and in VS shell, add Environment in the node path), you’ll see the option include partial matches in local search results.
If you uncheck this option and repeat the search, you’ll have only 9 hits in local help to scan through instead of 500.
Technorati Tags:
VS2005Tip,
VS2008Tip
Today’s tip is just a collection of some tweaks you can make to your search results. Although 16 months ago, I would have said each one of these tweaks is its own tip. But these days I’m all about quality over quantity , since you readers keep me honest when I start to slack. =D
Tip 376.A You can make the abstracts appear as Tooltips
If the abstracts become way to distracting or you want to see more results per page,
you can Right-click on any search result and uncheck Show Abstract. Now the abstracts only appear in the tooltip.
Tip 376.B You can remove the highlight search hits by refreshing the site
If you have a lot of terms in your search query, like in the example below “how to define a class in C#” it can be a little hard to read.
I couldn’t find any highlight command that could toggle the highlight state, so the best I can offer is hitting the refresh button. It removes the highlight for both local and online search.
If hitting refresh gets old, you can go to Tools – Options – Help – General (in DExplorer, if in VS add the Environment node), and uncheck Highlight Search Terms.
Tip 376.C You can sort results that contain source code
In the results list, there’s the sort by combo box that has "Contains Code" as an option.
If you are looking for some sample code, this would be to have as the filter, because it will move all these search results to the top.
Tip 376.D How to change the Web Browser Search page
I only add this because I saw this option in Tools Options, and couldn’t for the life of me figure out where the actual button or command lived. I did a few searches for “search page option” but only found the option, and nothing about the command. Only while writing this post did I accidentally or coincidentally hit it, hence why it is going here.
The option to change the page that clicking this button goes is at Tools – Options – Web Browser. (or in VS, add the Environment).
Technorati Tags:
VS2005Tip,
VS2008Tip
Last week, I spoke at the Engineering Excellence / Trustworthy Computing Forum to Microsoft employees at the Microsoft Development Center Copenhagen about CodePlex. I also attempted to do 101 Visual Studio Tips in 50 minutes, but only got through 85 tips. I lost track of time thinking I had the full hour.
Below is a picture of CodePlex outside the main entrance of the MDCC campus. The campus is surrounded by a government-protected forest, so there were these little tree things that fenced in the campus. It felt like a scene from The Village, since you couldn’t enter the forest and no one was wearing bright clothing.

And here’s my attempt of at Adult Swim, where they sometimes hide the Adult Swim logo somewhere, making you play the “Where’s Waldo” game. Not much a challenge I have to say, but it was fun playing in the auditorium when no one was speaking.
I visited a friend in Sweden for the weekend. She asked me what I wanted to see. Naturally, I said that I wanted to go to the IKEA. (yes, this is the flagship / original IKEA).
And we went to the Icebar Stockholm, because when 30 degrees (F) isn’t cold enough, 10 degrees (F) or –5C will have to do. And yes, the glass is made out of ice.
Let’s just say it was very, very cold and I was very, very tired.
Now if I can only recover from the jet lag…
According to my notes (taken on July 11, 2007, so it’s been a while), you should be able to save your search filters too, so I’m wondering if this is a “just me” situation or if this is working for others. Yes, I’ll admit, I haven’t installed SP1 yet (yes, I’m a bad VS blogger, no cookie for me.) so maybe this was fix in SP1?
On the standard DExplorer (Document Explorer) toolbar, there’s the Save Search button.
This will save your current search query to the Help Favorites window under Help Searches. You can give your search strings meaningful names (more meaningful than my example) and customize the list order, as shown below.
Note that the “search 1” saved query is for an empty search. The idea here (according to my notes) is that your custom filters are still saved, so you can quickly type in a new search term without having to recreate your custom filters. So, I hope I’m doing something wrong, because this would be cool…
Technorati Tags:
VS2005Tip,
VS2008Tip
If you bring up a help page by pressing F1, doing a search, filtering via the Index, or any other method that doesn’t involve the Contents tool window, you’ll notice the Contents window will be out of sync with the current page.
To put it back in sync with the Contents window, you can click the “Sync with Table of Contents” button on the DExplorer (document explorer) toolbar, as shown below.
However, you may notice that this button isn’t available from time to time. That is because this feature only works when you are using local help instead of Online help. In the General Development Settings, the default is to try Online help first, and then local help. Within DExplorer, this setting can be found in Tools – Options – Help – Online. (or in Visual Studio, it’s under the Environment node.)
If you really need to sync with the Table of Contents window, then switch to local help (and shown below).
Then, you’ll need to redo the action that brought up the page in order to switch to local help. Please correct me if i’m wrong, but I don’t think there’s a “switch to local/online” button to refresh the page (but i could be wrong.)
If you are using online help, the URL will start off with “http” and if using local help, it will start off with “ms-help.”
Technorati Tags:
VS2005Tip,
VS2008Tip
Once upon a time, a computer programmer drowned at sea. Many <insert occupation here> were on the beach. They heard the screams of “F1 F1”, but no one understood…
Welcome to the Help tips series! In my quest for Visual Studio completeness (in the Mathematical sense), I’m going to cover a few of the most interesting Help tips. I never formally owned any testing in the core Help feature area, so it is my weakest area of Visual Studio environment and why it has only taken me 16 months to get to it in this tip series.
F1 can take you to a help topic based on the context of what you are currently doing. For example, consider the language keyword class. If I place the cursor (or selected) the word class in a C# file…
public class Class1 {
I get the following topic
class (C# Reference)
It’s all about context.
And, (and here’s the real tip for those of you who are like, “Sara, I want a real tip!”) Did you know… you can get context sensitive help even in a web browser?
- Select some text within the Visual Studio web browser. Below I’ve selected the word exclamation from a random blog post of mine.
- Press F1
And you’ll get context-sensitive help on the word that was selected. I had no idea what was going to pop up when I pressed F1 on exclamation point, but SystemSounds.Exclamation Property makes sense.
I should also note, as it is my custom to do so, that F1 is bound to the command Help.F1Help. There’s nothing keeping you from binding it to F2, if your heart so desires.
Technorati Tags:
VS2005Tip,
VS2008Tip
I never knew we put in object model support for the Import / Export Settings feature. When I was testing the feature, I remember being told there wasn’t time in the schedule to do it. Obviously priorities changed after I moved onto the next feature area, and I never got the memo. I so could have used this tip for the entire past year or two or three…
Let’s say you want Visual Studio to have different window layout at the snap of your fingers. Or even better, you want to toggle VS in and out of a “presentation mode.” (This doesn’t have to be just for Window Layouts and Fonts and Colors. This could work for any settings captured by the Import / Export Settings wizard.)
I’ve mapped the Coffee Mug Icon to the General Development Settings* and the Video Camera Icon to my settings whenever I give presentations. Now I can quickly toggle between presentation mode and work mode.
here’s how you can do it:
- Go to Tools – Macros – Macros IDE, and in the Project Explorer, create a Module file (or just use MyMacros-Module1 if it’s not being used.)
- Paste in the following code and of course tweak your file path and file names.
Public Sub ImportPresentationMode()
DTE.ExecuteCommand("Tools.ImportandExportSettings", "-import:""C:\Users\saraf\Documents\Visual Studio 2008\Settings\VisualStudioTipsAndTricksDemo.vssettings""")
End Sub
Public Sub ImportGenericEnvironment()
DTE.ExecuteCommand("Tools.ImportandExportSettings", "-import:""C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Profiles\General.vssettings""")
End Sub
- With the macros create, to go Tools – Customize, and on the Commands tab, select Macros in the Categories section to find the macros you just created in Step 2.
- And simply drag and drop those macro commands to the toolbar of your choice, or create your own VS Settings toolbar (on the Toolbar page of this dialog.)
After making this customization, I recommend restarting VS to write out any necessary info about the command bars before doing exporting your new customizations.
*Note: I use General Development Settings because it is my baseline default. However if you want to do this toggle back and forth like i’m doing, you will need to add these toolbar button customizations to your General.settings file. Otherwise, you’ll do the toggle, and you’ll import the VS Installed general settings, and the buttons will disappear. Yes, I obviously did this to myself the first time.
Thanks to James’s whitepaper on VS 2005 IDE Tips and Tricks that made me aware of this.
http://msdn.microsoft.com/en-us/library/bb245788(VS.80).aspx
Technorati Tags:
VS2005Tip,
VS2008Tip
Update: i've fixed the registry key for the recent files. ironically in my VS Tips talk today in Denmark, in the handout, i had a typo in the handout where I put "Recent" instead "Project" for the project MRU.
Have you ever deleted or renamed a project, only to accidentally try to reopen it through the Recent Projects menu or in the Start Page? Visual Studio is quick to point out to you that the project is unavailable via the following message box:
Okay, that’s great, but why doesn’t VS then remove the project from the list, so you don’t keep accidentally selecting this project in the future? Instead VS moves it up to the top of the list, because it is the most recently visited project (because projects in an unavailable state still count.)
This is because Visual Studio is really tracking the project through the solution file. If the solution is valid, but the project is not, VS treats it as a recently visited project. However, if the solution does not exist, then VS asks you whether you want to remove it from the list:
Getting back to today’s tip, how do you fix the first case, where the project doesn’t exist but the solution does?
Note: This involves modifying your registry settings. Only do so if you are comfortable and at your own risk.
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\ProjectMRUList
You’ll see the list of all the recently visited projects. Simply delete any one to have it removed from the list. This will remove it from the File –> Recent Projects and the Start Page Recent Projects. Note you will need to restart VS.
And the same “solution” (no pun intended) goes for Recent Files:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\FileMRUList
Technorati Tags:
VS2005Tip,
VS2008Tip
This sample has been around for ages, at least since Visual Studio .NET 2003 era. According to the blogosphere, the sample floating around out there came from a SDET Lance (who I knew back in the day). The one below came from Sean on the VS Editor team. Regardless, I think the easiest thing to say is the following sample comes from the Visual Studio Environment Team.
The macro below will list out all of your current keybindings in the Output Window.
If you’ve never run a macro before, it’s easy. Just go to Tools – Macros – Marcos IDE to open the Macros IDE. Then in the Project Explorer (the equivalent of the Solution Explorer for macros) open MyMacros-Module1. Cut and paste everything below into the Module1 file. Lastly, put your cursor anywhere within the ListCommands() method and hit F5.
The macro is in the attached file, found at the bottom of this post.
When the macro completes, you’ll see in the Visual Studio IDE (the main VS shell) in the Output Window the full list of keyboard shortcuts.

Technorati Tags:
VS2005Tip,
VS2008Tip