Welcome to MSDN Blogs Sign in | Join | Help

Sara Ford's WebLog


My adventures embracing open source on CodePlex and at Microsoft

News

  • Did you know... All author proceeds go directly to sending Hurricane Katrina survivors to college.

    Microsoft Visual Studio Tips book

    This is just a test. don't look here.

    Recent Entries

Attending CodeMash 2009

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.)

image

And yes, gotta love being an “Adamantium” Sponsor. =D

Did you know that today’s tip on msinfo32.exe ends the series? -#382

‘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.

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.

Visual Studio Help About window

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: ,
Did you know… How to optimize Visual Studio for multi-monitors? - #381

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.

  1. 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.

  2. 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.

  3. 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: ,
Did you know… There is an Open Source command in Visual Studio? - #380

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?)

the Open Source command 

In DExplorer (Documentation Explorer), whenever you do a search, you’ll get results by different search providers.

Open Source command in DExplorer

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: ,
Did you know… You can go directly to the installed code samples from within Visual Studio? - #379

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.

Samples on Disk section of Samples page

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:
Did you know… How to turn on or off Dynamic Help? – #378

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”

Dynamic Help showing class keyword help topics

And jumping to a WinForm Designer on a button causes the context to change

Dynamic Help showing button help

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: ,
Did you know… You can narrow search results by turning off partial matches? - #377

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.

search query with 500 results

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.

image

If you uncheck this option and repeat the search, you’ll have only 9 hits in local help to scan through instead of 500.

same search query with only 9 results

Technorati Tags: ,
Did you know… How to tweak your search results? - #376

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,

showing search results with abstracts 

you can Right-click on any search result and uncheck Show Abstract. Now the abstracts only appear in the tooltip.

showing search results with abstracts

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.

lots of highlighted words on a search result page

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.

Web Browser refresh button

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.

Highlight search terms option

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.

Sort by: Contains code 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.

help topic that contains code

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.

Web Browser Search

The option to change the page that clicking this button goes is at Tools – Options – Web Browser. (or in VS, add the Environment).

Web Browser search option

Technorati Tags: ,
CodePlex in Denmark and Sweden

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.

CodePlex banner outside main entrance of MDCC

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.

CodePlex banner in large room 

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).

CodePlex at the IKEA of Sweden 

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.

Bartender at Icebar Stockholm

Let’s just say it was very, very cold and I was very, very tired.

me with a drink in a ice glass in the ice bar 

Now if I can only recover from the jet lag…

Did you know… You can save search queries, but not sure about the filters? - #375

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.

Save Search button in DExplorer

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.

Help Favorites window showing search queries

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: ,
Did you know… How to sync your current help page with the Contents tree, even if the option isn’t available? - #374

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.

Contents window not in sync with currently-opened Help 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.

Sync with Table of Contents button 

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).

Help Online options

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: ,
Did you know… You can use F1 to get Help anywhere, even in a web browser - #373

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?

  1. Select some text within the Visual Studio web browser. Below I’ve selected the word exclamation from a random blog post of mine.

    word "exclamation" selected in a blog post in the VS web browser

  2. 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.

SystemSounds.Exclamation Property help appears 

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: ,
Did you know… You can create toolbar buttons to quickly toggle your favorite VS Settings? – #372

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.)

VS Main Menu showing 2 icons for vssettings files

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:

  1. 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.)
  2. 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
  1. 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.

Tools - Customize - Commands menu

  1. 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: ,
Did you know… How to remove items from the Recent Projects and Recent Files menus? - #371

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:

projects couldn't be loaded 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:

solution couldn't be loaded

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: ,
Did you know… There’s a macro for listing out all the keyboard shortcuts in Visual Studio? - #370

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.

Output Window Listing commands

Technorati Tags: ,
More Posts Next page »
Page view tracker