15.3. The Integrated Development Environment (IDE )The Visual Studio 2005 integrated development environment (IDE) consists of windows for visual design of forms, code-editing windows, menus and toolbars providing access to commands and features, Toolboxes containing controls for use on the forms, and windows providing properties and information about forms, controls, projects, and the solution. Visual Studio 2005 is a multiple document interface (MDI ) application. It consists of a single parent window, which contains multiple windows. All the menus, toolbars, design and editing windows, and miscellaneous other windows are associated with the single parent window. 15.3.2. Creating a Web ApplicationA typical layout of the IDE for a web application is shown in Figure 15-5. Basically, it consists of a menu and toolbar arrangement across the top and a work surface below, flanked by other toolbars and windows. Figure 15-5. Typical IDE layout
Visual Studio 2005 has a title bar across the top with menus below. Under the menus are toolbars with buttons that duplicate many of the common menu commands. Nearly everything that can be done through menus can also be done with context-sensitive pop-up menus, as described in the discussion that follows. The menu and toolbars are easily customized by clicking on Tools Customize. The toolbars are docked along the top of the window by default. As with many Windows applications, they can be undocked and moved to other locations, either free-floating or docked along other window edges. You move the toolbars by grabbing them with the mouse and dragging them where you want. Along the right side of the screen are two windows, both of which will be covered in more detail later in this chapter. The upper window is the Solution explorer. Below that is the Properties window. There are many other similar windows available to you, as will be described. All of these windows , plus the Toolbox, are resizable and dockable . They can be resized by placing the mouse cursor over the edge you want to move. The cursor will change to a double-arrow resizing cursor, at which point you can drag the window edge one way or the other. Right-clicking on the title bar of a dockable window pops up a menu with four mutually exclusive check items:
The work surface uses a tabbed metaphor (i.e., the tabs along the top edge of that window indicate there are other windows below it). You can change to an MDI style, if you prefer, in Tools Options Environment General. There are a number of navigational aids along the bottom of the work surface. Depending on the context, there may be one or more buttons. When looking at a web page, for example, as shown in Figures 15-5 and 15-6, two buttons labeled Design and Source allow switching between the Design view and underlying source code, i.e., HTML and script. There are also buttons representing the HTML hierarchy of the page. The cursor in the code window or the focus in Design view dictates which objects will be represented as buttons: one button for the current level and one more for each parent level. Clicking on any of the buttons highlights that level of code in the code window. When you switch from a design window to a code window, the menu items, toolbars, and Toolbox change in a context-sensitive manner. The code window has context-sensitive drop-down lists at the top of the screen for navigating around the application. In the HTML editor, the left drop down lists Client Objects & Events and Client Script, and the right drop down lists event handlers. In the Visual Basic 2005 code editor, the left drop down contains a list of all the classes in the code and the right drop down has a list of all the objects in the current class. The left margin of a code window shows a yellow bar next to lines that have been changed and a green bar next to lines that have been saved. This color coding is per session; it resets when the project is first loaded. Along the bottom edge of the IDE window is a status bar, which shows such information as the current cursor position (when a code window is visible), the status of the Insert key, and any pending shortcut key combinations. Figure 15-6. Design view window in IDE15.3.3. Creating a Windows ApplicationThe IDE for creating Windows Forms in Visual Basic 2005 is very similar to the IDE for creating web forms. Once again, Visual Studio 2005 has a title bar across the top with menus below and a toolbar that duplicates the most common menu commands. Along the right side of the screen are the same two windows: Solution explorer and Properties. With Windows applications, you do not have a Design and a Source window, you have only the Windows form, onto which you may drag controls from the Toolbox. The code behind page is reached by right-clicking on the form and choosing View Code. 15.3.4. Menus and ToolbarsThe menus provide access to many of the commands and capabilities of Visual Studio 2005. The more commonly used menu commands are duplicated with toolbar buttons for ease of use. The menus and toolbars are context-sensitive (i.e., the available selection is dependent on what part of the IDE is currently selected, and what activities are expected or allowed). For example, if the current active window is a code-editing window, the top-level menu commands are:
If the current window is a design window, then the Data, Format, and Layout menu commands also become available. Many of the menu items have keyboard shortcuts, listed adjacent to the menu item itself. These comprise one or more keys (referred to as a chord), pressed simultaneously. Shortcut keys can be a huge productivity boost, since you can perform common tasks quickly, without removing your hands from the keyboard. The following sections describe some of the menu items and their submenus, focusing on those aspects that are interesting and different from common Windows commands. 15.3.5. File MenuThe File menu provides access to a number of file, project, and solution-related commands. Many of these commands are content-sensitive. Below are descriptions of the most commonly used file commands. 15.3.5.1. NewAs in most Windows applications, the New menu item creates new items to be worked on by the application. In Visual Studio 2005, the New menu item has five submenu items, to handle the different possibilities. They are:
Figure 15-7. New Project windowFigure 15-8. New Web Site15.3.6. Edit MenuThe Edit menu contains the text editing and searching commands that one would expect, but also includes commands useful in editing code. The most useful are: 15.3.6.1. Cycle Clipboard Ring Clipboard RingThe Clipboard Ring is like copy and paste on steroids. Copy a number of different selections to the Windows clipboard, using the Edit Cut (Ctrl-X) or Edit Copy (Ctrl-C) commands. Then use Ctrl-Shift-V to cycle through all the selections, allowing you to paste the correct one when it comes around. This submenu item is context-sensitive and is visible only when editing a code window. 15.3.6.2. Find and Replace Quick Find (Ctrl-F) / Quick Replace (Ctrl-H)These are just slightly jazzed names for slightly jazzed versions of the typical Find and Replace. Both commands call essentially the same dialog boxes, switchable by a tab at the top of the dialog box, as shown in Figures 15-9 and 15-10. Figure 15-9. Find and Replace dialog box Quick Find tabFigure 15-10. Find and Replace dialog box Quick Replace tabThe search string defaults to the text currently selected in the code window, or, if nothing is selected, to the text immediately after the current cursor location. The Look in drop down offers the choice of the Current Document, All Open Documents, the Current Project, and the current method. Search options can be expanded or collapsed by clicking on the plus/minus button next to Find Options. By default, Search hidden text is checked, which allows the search to include code sections currently collapsed in the code window. The Use checkbox allows the use of either regular expressions (see the sidebar "Regular Expressions") or wildcards. If the Use checkbox is checked, then the Expression Builder button to the right of the Find what textbox becomes enabled, providing a very handy way to insert valid regular expression or wildcard characters. Once a search string has been entered in the Find what text box, the Find Next button becomes enabled. In Quick Find mode, there is also a Bookmark All button, which finds all occurrences of the search string and places a bookmark (described later) next to the code. In Quick Replace mode, there is also a Replace with text box, and buttons for replacing either a single or all occurrences of the search string. 15.3.6.3. Find and Replace Find in Files (Ctrl-Shift-F)Find in Files is a very powerful search utility that finds text strings anywhere in a directory or subdirectory (subfolders). It presents the dialog box shown in Figure 15-11. Checkboxes present several self-explanatory options, including the ability to search using either wildcards or regular expressions. Figure 15-11. Find and Replace dialog box Find in Files tabIf you click on the Replace in Files tab at the top of the Find and Replace dialog box, you will get the Replace in Files dialog box shown in Figure 15-12 and described next. Figure 15-12. Find and Replace dialog box Replace in Files tab
15.3.6.4. Find and Replace Replace in Files (Ctrl-Shift-H)Replace in Files is identical to the Find in Files command, described in the previous section, except that it also allows you to replace the target text string with a new text string. This command is extremely useful for renaming forms, classes, namespaces, projects, and so on. Renaming objects is a very common requirement, often because you don't want to be saddled with the default names assigned by Visual Studio 2005. Renaming should not be difficult, but it can be. Object names are spread throughout a project, often hidden in obscure locations such as solution files, and throughout source code files. Although all of these files are text files and so can be searched and edited, it can be a tedious and error-prone task. The Replace in Files command makes it simple, thorough, and reasonably safe. 15.3.6.5. Find and Replace Find Symbol (Alt-F12)Clicking on this command will bring up the Find Symbol dialog box shown in Figure 15-13. This allows you to search for symbols (such as namespaces, classes, and interfaces) and their members (such as properties, methods, events, and variables). It also allows you to search in external components for which the source code is not available. Figure 15-13. Find and Replace dialog box Find Symbol tabThe search results will be displayed in a window labeled Find Symbol Results. From there, you can move to each location in the code by double-clicking on each result. 15.3.6.6. Go To...This command brings up the Go To Line dialog box , which allows you to enter a line number and immediately go to that line. It is context-sensitive and is visible only when editing a text window. 15.3.6.7. Find All ReferencesThis is somewhat similar to Find Symbol under Find and Replace, except that rather than searching for any symbol, it only allows searches for methods which are referenced elsewhere in the project. 15.3.6.8. Insert File As Text...This command allows you to insert the contents of any file into your source code, as though you had typed it in. It is context-sensitive and is visible only when editing a text window. A standard file-browsing dialog box is presented for searching for the file to be inserted. The default file extension will correspond to the project language, but you can search for any file with any extension. 15.3.6.9. AdvancedThe Advanced command is context-sensitive and is visible only when editing a code window. It has many submenu items. These include commands for:
15.3.6.10. Incremental search (Ctrl-I)Incremental search allows you to search an editing window by entering the search string character by character. As each character is entered, the cursor moves to the first occurrence of matching text. To use incremental search in a window, select the command on the Advanced submenu, or press Ctrl-I. The cursor icon will change to binoculars with an arrow indicating the direction of search. Begin typing the text string to search for. The case sensitivity of an incremental search will come from the previous Find, Replace, Find in Files, or Replace in Files search (described earlier). The search will proceed downward and left to right from the current location. To search backward, use Ctrl-Shift-I. The key combinations listed in Table 15-1 apply to incremental searching.
15.3.6.11. BookmarksBookmarks are useful for marking spots in your code and easily navigating from marked spot to marked spot. There are several context-sensitive commands on the Bookmarks submenu (listed in Table 15-2). Unless you add the item to the task list, bookmarks are lost when you close the file, although they are saved when you close the solution (so long as the file was still open).
This menu item only appears when a code window is the current window. 15.3.6.12. OutliningVisual Studio 2005 allows you to outline, or collapse and expand, sections of your code to make it easier to view the overall structure. When a section is collapsed, it appears with a plus sign in a box along the left edge of the code window. Clicking on the plus sign expands the region. You can nest the outlined regions, so that one section can contain one or more other collapsed sections. There are several commands to facilitate outlining, shown in Table 15-3.
The default behavior of outlining can be set using the Tools Options menu item. Go to Text Editor and select specific language for which you want to set the options. The outlining options can be set for Visual Basic 2005, under Visual Basic 2005 Formatting. 15.3.6.13. IntelliSenseMicrosoft IntelliSense technology simply makes programming. It provides real-time, context-sensitive help, which appears under your cursor. Code completion automatically completes your syntax, drastically reducing typing and errors. Drop-down lists provide all methods and properties possible in the current context. IntelliSense works in all code windows, including not only the Visual Basic 2005 code-behind files, but also within both server- (i.e., script) and client-side (i.e., HTML) code in content files. The default IntelliSense features can be configured by going to Tools Options and then the language-specific pages under Text Editor. Most of the IntelliSense features appear as you type inside a code window or allow the mouse to hover over a portion of the code. In addition, the Edit IntelliSense menu item offers numerous commands, the most important of which are shown in Table 15-4.
The member list presents itself when you type the dot following any class or member name. Every member of the class is listed, and each member's type is indicated by an icon. There are icons for methods, fields, properties, events, and so forth. In addition, each icon may have a second icon overlaid to indicate the accessibility of the member: public, private, protected, and so on. If there is no accessibility icon, then the member is public.
Two of the subcommands under the IntelliSense menu item, Insert Snippet ... and Surround With ...., tap into a powerful feature to reduce typing and minimize errors: code snippets. A code snippet is a chunk of code that replaces an alias. A short alias is replaced with a much longer code snippet. For example, the alias SelectCase would be replaced with: Select Case caseDiscriminant Case Else End Case with the case expression caseDiscriminant highlighted in yellow and the cursor in place, ready to type in your own expression. In fact, all the editable fields will be highlighted, and you can use the Tab key to navigate through them, or Shift-Tab to go backward. Any changes made to the editable field are immediately propagated to all the instances of that field in the code snippet. Press Enter or Esc to end the field editing and return to normal editing. To do a straight alias replacement, either select Insert Snippet from the menu, or more easily, press Ctrl-K, Ctrl-X. Alternatively, just type an alias in the code window and an IntelliSense menu will pop up with a list of aliases, the current one highlighted. Press the Tab key to insert that code snippet. Alternatively, a code snippet can surround highlighted lines of code, say with a for construct. To surround lines of code with a code snippet construct, highlight the code, then either select Surround With from the menu, or press Ctrl-K, Ctrl-S. 15.3.7. View MenuThe View menu is a context-sensitive menu that provides access to the myriad of windows available in the Visual Studio 2005 IDE. You will probably keep many of these windows open all the time; others you will use rarely, if at all. The View menu is context-sensitive. For example, with a .aspx content file on the work surface, the first three menu items will be Code, Designer, and Markup, while the Code and Designer menu items will be omitted if looking at a code-behind file. When the application is running, a number of other windows, primarily used for debugging, become visible or available. These windows are accessed via the Debug Windows menu item, not from the View menu item. Visual Studio 2005 can store several different window layouts. In particular, it remembers a completely different set of open windows during debug sessions than it does during normal editing. These layouts are stored per user, not per project or per solution. 15.3.7.1. Class View (Ctrl-Shift-C)The Class View shows all the classes in the solution in a hierarchical manner. A typical Class View, somewhat expanded, is shown in Figure 15-14. As with the Solution explorer, any item in the class view can be right-clicked, which exposes a pop-up menu with a number of context-sensitive menu items. This can provide a convenient way to sort the display of classes in a project or solution, or to add a method, property, or field to a class. The button on the left above the class list allows for sorting the classes listed, either alphabetically, by type, by access, or grouped by type. Clicking on the button itself sorts by the current sort mode, while clicking on the down arrow next to it presents the other sort buttons and changes the sort mode. The button on the right above the class list allows you to create virtual folders for organizing the classes listed. These folders are saved as part of the solution in the .suo file. These folders are virtual (i.e., they are illusory). They are only used for viewing the list. As such, they have no effect on the actual items. Items copied to the folder are not physically moved, and if the folders are deleted, the items in them are not lost. Figure 15-14. Class ViewNote that if you rename or delete an object from the code that is in a folder, you may need to manually drag the item into the folder again to clear the error node. 15.3.7.2. Code Definition Window (Ctrl-W, D)Available in either Design or Source view for a web page or user control file, this menu item displays the Code Definition window, which is a read-only display of the definition of a symbol in a code file. The display in this window is synchronized with the cursor location in the Code Editor window and the current selection in either the Class View or the Object Browser. 15.3.7.3. Error List (Ctrl-W, Ctrl-E)Available in all editor views, The Error List window displays errors, warnings, and messages generated as you edit and compile your project. Syntax errors flagged by IntelliSense are displayed here, as well as deployment errors. Double-clicking on an error in this list will open the offending file and move the cursor to the error location. 15.3.7.4. Output (Ctrl-Alt-O)The Output window displays status messages from the IDE, such as build progress. The Output window can be set to display by default when a build starts by going to Tools Options Projects and Solutions General and checking "Show Output window when build starts." 15.3.7.5. Properties Windows (F4)The Properties window displays all the properties for the currently selected item. Some of the properties (such as Font) may have subproperties, indicated by a plus sign next to their entries in the window. The property values on the right side of the window are editable. One thing that can be confusing is that certain items have more than one set of properties. For example, a Form content file can show two different sets of properties, depending on whether you select the source file in the Solution explorer or the form as shown in the Design view. A typical Properties window is shown in Figure 15-15. Figure 15-15. Properties windowThe name and type of the current object is displayed in the field at the top of the window. In Figure 15-15, it is an object named btnPage2 of type Button, contained in the System.Web.UI.WebControls namespace. Most properties can be edited in place in the Properties window. The Font property has subproperties that may be set directly in the window by clicking on the plus sign to expand its subproperties, then editing the subproperties in place. The Properties window has several buttons just below the name and type of the object. The first two buttons on the left toggle the list by category or alphabetically. The next two buttons from the left toggle between displaying properties for the selected item and displaying events for the selected item. The rightmost button displays property pages for the object, if there are any.
The box below the list of properties displays a brief description of the selected property. 15.3.7.6. Solution Explorer (Ctrl-Alt-L)Projects and solutions are managed using the Solution explorer, which presents the solution and projects, and all the files, folders, and items contained within them, in a hierarchical, visual manner. The Solution explorer is typically visible in a window along the upper-right side of the Visual Studio 2005 screen, although the Solution explorer window can be closed or undocked and moved to other locations, like all the windows accessible from the View menu. A typical Solution explorer is shown in Figure 15-16. Figure 15-16. Solution explorerIt is also possible to display miscellaneous files in the Solution explorer. To do so, go to Tools Options..., then go to Environment Documents. Check the checkbox labeled Show Miscellaneous files in Solution explorer. Most of the functionality of the Solution explorer is redundant with the Visual Studio 2005 menu items, although it is often easier and more intuitive to perform a given chore in Solution explorer rather than in the menus. Right-clicking on any item in the Solution explorer will pop up a context-sensitive menu. Some of the context-sensitive menus are not redundant with any of the menu commands. These include:
15.3.7.7. Task List (Ctrl-W, Ctrl-T)In large applications, keeping a to-do list can be quite helpful. Visual Studio 2005 provides this functionality with the Task List window. You can provide shortcuts to comments in the Task List along with token strings, such as TODO, HACK, or UNDONE. Also, the compiler populates the Task List with any compile errors. 15.3.7.8. Toolbox (Ctrl-Alt-X)Displays the Toolbox if it is not currently displayed. If it is currently displayed, nothing happens it does not toggle the display. To undisplay the Toolbox, click on the X in the Toolbox title bar. 15.3.7.9. Other WindowsThere are several other windows which have been relegated to a submenu called Other Windows. These include:
Figure 15-17. Document Outline15.3.8. Refactor MenuAfter you write your code you may find that two methods have a chunk of code that is identical. You can refactor that code into a method, and Visual Studio 2005 makes this exquisitely easy.
Refactoring modifies your code; for example, extracting common code to a new method and then calling that method in the place from which it was extracted. Refactoring can also be used to rename methods, and all references to the renamed method will automatically be updated, across all files in the project and across all projects of the same language. Before any changes are committed, an optional Preview Changes dialog box will appear, giving you the opportunity to either accept or cancel the changes. A project that is unable to build successfully can still be refactored, although ambiguous references might not update properly. The following functions are available under the Refactor menu item:
15.3.9. Build MenuThe Build menu offers menu items for building the current project (highlighted in Solution explorer) or the solution. It also exposes the Configuration Manager for configuring the build process. 15.3.10. Debug MenuThe Debug menu allows you to start an application with or without debugging, set breakpoints in the code, and control the debugging session. 15.3.11. Data MenuThis context-sensitive menu is visible only when in Design mode. It is not available when editing code pages. The commands under it are only available when there are appropriate data controls on the form. 15.3.12. Format MenuThe Format menu is visible only when in Design mode, and furthermore, the commands under it are context-sensitive to the control(s) currently selected. This menu offers the ability to control the size and layout of controls, although many of the menu options are grayed out for certain web form controls. You can:
To operate on more than one control, select the controls in one of several ways:
When operating on more than one control, the last control selected will be the baseline. In other words, if you are making all the controls the same size, they will become the same size as the last control selected. Likewise, if aligning a group of controls, they will align with the last control selected. As controls are selected, they will display eight resizing handles. These resizing handles will be black for all the selected controls except the baseline, or last control, which will have white handles. With that in mind, all of the commands under the Format menu are fairly self- explanatory. 15.3.13. Tools MenuThe Tools menu presents commands accessing a wide range of functionality, from connecting to databases to accessing external tools to setting IDE options. Some of the more useful commands are described in the following sections. 15.3.13.1. Connect to Device ...Brings up a dialog box that allows you to connect to either a physical mobile device or an emulator. 15.3.13.2. Connect to Database ...The Connect to Database command default brings up the dialog box that allows you to select a server, log in to that server, and connect to the database on the server. Microsoft SQL Server is the default database (surprise!), but the Change ... button allows you to connect to any number of other databases, including any for which there are Oracle or ODBC providers. 15.3.13.3. Code Snippets Manager (Ctrl-K, Ctrl-B)This command brings up the Code Snippets Manager dialog box , which allows you to maintain the code snippets, described earlier in the IntelliSense section. This dialog box allows you to add or remove code snippets for any of the supported languages. You can also import code snippets and search online for code snippets. 15.3.13.4. Choose Toolbox Items...This command brings up the Choose Toolbox dialog box shown in Figure 15-18. The dialog box has two tabs: one for adding (legacy) COM components and one for adding .NET CLR-compliant components. All the components available on your machine (which include registered COM components and .NET components in specific directories you can browse for .NET components if they are not listed) are listed in one or the other. In either case, check or uncheck the box in front of the component to include or not include the desired component.
You can sort the components listed in the dialog box by clicking on the column head by which you wish to sort. Figure 15-18. Choose Toolbox Items dialog box15.3.13.5. MacrosMacros are a wonderful feature that allow you to automate tasks in the IDE. Macros can either be hard-coded or recorded as you perform the desired task. If you allow the IDE to record the macro for you, then you can subsequently examine and edit the macro code it creates. This is very similar to the macro functionality provided as part of Microsoft Word or Microsoft Excel.
You can easily record a temporary macro by using the Macros Record TemporaryMacro command, or by pressing Ctrl-Shift-R. This temporary macro can then be played back using the Macros Run TemporaryMacro command, or by pressing Ctrl-Shift-P. It can be saved using the Macros Save TemporaryMacro command, which will automatically bring up the Macro Explorer , described next. Macros are managed using the Macro Explorer window, accessed via a submenu of the Macros command, or by pressing Alt-F8, shown in Figure 15-19 after recording a temporary macro. Figure 15-19. Macro ExplorerRight-clicking on a macro in the Macro Explorer pops up a menu with four items:
All the macros are contained in a macro project called, by default, MyMacros. This project is comprised of a binary file called MyMacros.vsmacros (unless you have elected to convert it to the multiple files format), which is physically located in a folder called VSMacros80 in the current projects directory for each user. You can create a new macro project by using the Macros New Macro Project command or by right-clicking on the root object in the Macro Explorer and selecting New Macro Project. In either case, you will get the New Macro Project dialog box, which will allow you to specify the name and location of the new macro project file. Macro projects contain modules, which are units of code. Each module contains subroutines, which correspond to the macros. So for example, the macro called TemporaryMacro shown in Figure 15-19 is the TemporaryMacro subroutine contained in the module named RecordingModule, which is part of the MyMacros project. 15.3.13.6. External Tools...Depending on the options selected at the time Visual Studio 2005 was installed on your machine, you may have one or more external tools available on the Tools menu. These might include tools such as Create GUID or Dotfuscator Community Edition. (Use of these tools is beyond the scope of this book.) The Tools External Tools ... command allows you to add additional external tools to the Tools menu. When selected, you are presented with the External Tools dialog box. This dialog box has fields for the tool title, the command to execute the tool, any arguments and the initial directory, as well as several checkboxes for different behaviors. 15.3.13.7. Performance ToolsThis menu item exposes a wizard for benchmarking and tuning performance, as well as a command for starting a new performance session. 15.3.13.8. Import and Export Settings...This command brings up the Import and Export Settings dialog box , which is a wizard for importing and exporting IDE environment settings. With this wizard, you can transfer your carefully wrought IDE settings from one machine to the next. 15.3.13.9. Customize ...The Customize ... command allows you to customize many aspects of the IDE user interface. (The Options ... command, described in the following section, allows you to set a variety of other program options.) It brings up the Customize dialog box, which has two different tabs plus one additional button, allowing customization in three different areas.
Figure 15-22. Customize dialog Keyboard button15.3.13.10. Options...The Options ... command also brings up the Options dialog box, shown in Figure 15-22. This dialog box allows setting a wide range of options, ranging from the number of items to display in lists of recently used items to HTML Designer options. The dialog box displays a hierarchical list of categories on the left side. Selecting any category allows you to drill down through the tree structure. Clicking on a detail item brings up the available properties on the right side of the dialog box. Most of the available options are fairly self-explanatory. If you have any questions about specific settings, clicking on the Help button at the bottom of the Options dialog box will bring up context-sensitive help about all the properties relevant to the current detail item. 15.3.14. Window MenuThe Window menu is a standard Windows application Window command. It displays a list of all the currently open windows, allowing you to bring any window to the foreground by clicking on it. Note that all the file windows currently displayed in the IDE also have tabs along the top edge of the work surface, below the toolbars (unless you have selected MDI mode in Tools Options Environment General), and windows can be selected by clicking on a tab. This is a context-sensitive menu. The menu items available for different circumstances are listed in Table 15-5.
15.3.15. Help MenuThe Help menu provides access to a number of submenus. Those that are not self- explanatory are described here. 15.3.15.1. Dynamic Help (Ctrl-Alt-F4)If you are developing on a machine with enough horsepower, Dynamic Help is a wonderful thing. Otherwise, it is quite a performance hog. (It can be disabled by unchecking all the checkboxes under Tools Options Environment Dynamic Help) Alternatively, just closing the window is sufficient to prevent the performance hit, and that way it is still available when you need it. That said, using Dynamic Help is very simple. Open a Dynamic Help window by clicking on this menu item or pressing Ctrl-F1. Then wherever the focus is, whether in a design, code, or dockable window, context-sensitive hyperlinks will appear in the Dynamic Help window. Click on any of these links to bring up the relevant help topic in a separate window. 15.3.15.2. Contents ...(Ctrl-Alt-F1) / Index ...(Ctrl-Alt-F2) / Search ...(Ctrl-Alt-F3)These three commands provide different views into the SDK help system, allowing you to search by a (pseudo) table of contents, an incremental index, or a search phrase, respectively. The first type of search is an indexed search, while the latter two are full text searches, so you may get different results using the different search types using the same phrase. The Help system exposed by these commands is the exact same Help system exposed in two other places by the Start button: Programs Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 Documentation Programs Microsoft .NET Framework SDK v2.0 Documentation This Help tool uses a browser-type interface, with Forward and Back navigation and Favorites. The list of topics is displayed in the left-hand pane, and the help topic itself, including hyperlinks, is displayed on the right. 15.3.15.3. Index Results... (Shift-Alt-F2)When searching for Help topics by Index, there are often many topics for a given index entry. In these cases, the multiple topics are listed in an Index Results window. This window will display automatically if this is the case. This command allows you to view the Index Results window if it has been closed. 15.3.15.4. Check for UpdatesThis command will check for service releases for your currently installed version of Visual Studio 2005. For this command to work, your machine must be connected to the Internet. If there is an update available, you will be prompted to close the IDE before the service release is installed. |