|
| 1 | +--- |
| 2 | +title: "Customizing the Isolated Shell | Microsoft Docs" |
| 3 | +ms.custom: "" |
| 4 | +ms.date: "11/04/2016" |
| 5 | +ms.reviewer: "" |
| 6 | +ms.suite: "" |
| 7 | +ms.technology: |
| 8 | + - "vs-ide-sdk" |
| 9 | +ms.tgt_pltfrm: "" |
| 10 | +ms.topic: "article" |
| 11 | +helpviewer_keywords: |
| 12 | + - "Visual Studio shell, isolated mode" |
| 13 | +ms.assetid: e0b7c3ae-210f-4f48-ac49-6a59e6034f5f |
| 14 | +caps.latest.revision: 15 |
| 15 | +ms.author: "gregvanl" |
| 16 | +manager: "ghogen" |
| 17 | +--- |
| 18 | +# Customizing the Isolated Shell |
| 19 | +You can customize your Visual Studio isolated shell application by changing different aspects of the Visual Studio user interface and by restricting the commands and features included in your specialized application. |
| 20 | + |
| 21 | +## Using the Application.pkgdef file |
| 22 | + The isolated shell template solution includes a *SolutionName*.Application.pkgdef file that allows you to modify the following features: |
| 23 | + |
| 24 | +##### The application title |
| 25 | + You can customize the application title, which is the name that is displayed in the title bar of the application, by changing the value of the "AppName" row in the *SolutionName*.Application.pkgdef file. For more details, see [Walkthrough: Creating a Basic Isolated Shell Application](../extensibility/walkthrough-creating-a-basic-isolated-shell-application.md). |
| 26 | + |
| 27 | + If you do not want the application title to display the project that is currently loaded, change the value of the "ShowHierarchyRootInTitle" row in the *SolutionName*.Application.pkgdef file from dword:00000001 to dword:00000000. |
| 28 | + |
| 29 | +##### The application icon |
| 30 | + You can customize the application icon, which is the icon that is displayed by the application name in the application title bar. Copy a different icon to the icon directory. In **Solution Explorer**, add the icon to the Resource Files folder. Then open the VSShellStub.rc file and replace the value of IDI_STUBPROGRAM with the name of the new icon. For more details, see [Walkthrough: Creating a Basic Isolated Shell Application](../extensibility/walkthrough-creating-a-basic-isolated-shell-application.md). |
| 31 | + |
| 32 | +##### The command-line logo |
| 33 | + You can customize the command-line logo, which is the text that appears when the application is started from the command line, by changing the value of the "CommandLineLogo" row in the *SolutionName*.Application.pkgdef file. For more details, see [Walkthrough: Creating a Basic Isolated Shell Application](../extensibility/walkthrough-creating-a-basic-isolated-shell-application.md) |
| 34 | + |
| 35 | +##### The name of the user files subfolder |
| 36 | + You can change the name of the folder your application maintains for user files by changing the value of the "UserFilesSubFolderName" row in *SolutionName*.Application.pkgdef file. |
| 37 | + |
| 38 | +##### The title of the solution tree node in the New Project dialog |
| 39 | + You can customize the title of the solution node in the New Project dialog by changing the value of the "NewProjDlgSlnTreeNodeTitle" row in the *SolutionName*.Application.pkgdef file. |
| 40 | + |
| 41 | +##### The installed templates header in the New Project dialog |
| 42 | + You can change the installed templates header in the New Project dialog by changing the value of the "NewProjDlgInstalledTemplatesHdr" row in the *SolutionName*.Application.pkgdef file. |
| 43 | + |
| 44 | +##### Whether or not to hide Miscellaneous files by default |
| 45 | + You can specify whether or not to hide Miscellaneous files by default by changing the value of the "HideMiscellaneousFilesByDefault" row in the *SolutionName*.Application.pkgdef file. To hide Miscellaneous files, set the value `dword:00000001`, and to show the files, set the value `dword:00000000`. |
| 46 | + |
| 47 | +##### Whether or not to disable the output window |
| 48 | + You can specify whether or not to disable the output window in your application by changing the value of the "DisableOutputWindow" row in the *SolutionName*.Application.pkgdef file. To disable the output window, set the value `dword:00000001`, and to show the output window, set the value `dword:00000000`. |
| 49 | + |
| 50 | +##### Whether or not to allow dropped files on the main window |
| 51 | + You can specify whether or not to allow dropped files on the main window in your application by changing the value of the "AllowsDroppedFilesOnMainWindow" row in the *SolutionName*.Application.pkgdef file. To allow dropped files, set the value `dword:00000001`, and to disallow dropped files, set the value `dword:00000000`. |
| 52 | + |
| 53 | +##### The default search page |
| 54 | + You can customize the web browser page, which is page that is displayed when the web browser window is opened, by changing the value of the "DefaultSearchPage" row in the *SolutionName*.Application.pkgdef file. |
| 55 | + |
| 56 | +##### The default home page |
| 57 | + You can customize the home page by changing the value of the "DefaultHomePage" row in the *SolutionName*.Application.pkgdef file. For more details, see [Walkthrough: Creating a Basic Isolated Shell Application](../extensibility/walkthrough-creating-a-basic-isolated-shell-application.md) |
| 58 | + |
| 59 | +##### Whether or not to hide the solution concept |
| 60 | + You can specify whether or not to hide the solution in your application by changing the value of the "HideSolutionConcept" row in the *SolutionName*.Application.pkgdef file. To hide the solution, set the value `dword:00000001`, and to show the solution, set the value `dword:00000000`. |
| 61 | + |
| 62 | +##### The default debug engine |
| 63 | + You can change the debug engine your application uses by changing the value of the "DefaultDebugEngine" row in the *SolutionName*.Application.pkgdef file to the GUID of your debug engine. |
| 64 | + |
| 65 | +##### The file extension of the user options file |
| 66 | + You can change the name of the folder your application maintains for user files by changing the value of the "UserOptsFileExt" row in *SolutionName*.Application.pkgdef file. |
| 67 | + |
| 68 | +##### The solution file extension |
| 69 | + You can change the extension used for your solution files by changing the value of the "SolutionFileExt" row in the *SolutionName*.Application.pkgdef file. |
| 70 | + |
| 71 | +##### The default user files folder root |
| 72 | + You can change the name of the root folder of the user files for your application by changing the value of the "UserFilesSubFolderName" row in the *SolutionName*.Application.pkgdef file. |
| 73 | + |
| 74 | +##### The solution file creator identifier |
| 75 | + You can change the identifier used for your solution files by changing the value of the "SolutionFileCreatorIdentifier" row in the *SolutionName*.Application.pkgdef file. |
| 76 | + |
| 77 | +##### The default projects location |
| 78 | + You can change the name of the default projects location by changing the value of the "DefaultProjectsLocation" row in the *SolutionName*.Application.pkgdef file. |
| 79 | + |
| 80 | +##### The application localization package |
| 81 | + You can change the localization package used for your application by changing the value of the "AppLocalizationPackage" row in the *SolutionName*.Application.pkgdef file. |
| 82 | + |
| 83 | +##### Whether or not to show the hierarchy root in the title |
| 84 | + You can specify whether or not to show the hierarchy root in the title bar in your application by changing the value of the "ShowHierarchyRootInTitle" row in the *SolutionName*.Application.pkgdef file. To show the hierarchy root, set the value `dword:00000001`, and to hide the hierarchy root, set the value `dword:00000000`. |
| 85 | + |
| 86 | +##### Specifying a start page |
| 87 | + To specify a start page for your custom application, in the *SolutionName*.Application.pkgdef file, set the "DisableStartPage" value to `dword:00000000`, and under `[$RootKey$\StartPage\Default]` set the URI to the location of the .xaml file: |
| 88 | + |
| 89 | +``` |
| 90 | +DisableStartPage=dword:00000000 |
| 91 | +[$RootKey$\StartPage\Default] |
| 92 | +"Uri"="$RootFolder$\<name of XAML file>" |
| 93 | +``` |
| 94 | + |
| 95 | + In the Applicationcommands.vsct file in the *SolutionName*UI project, comment out the "No_ShellPkg_startPageCommand" entry: |
| 96 | + |
| 97 | +``` |
| 98 | +<!--<Define name="No_ShellPkg_StartPageCommand"/>--> |
| 99 | +``` |
| 100 | + |
| 101 | + You must add the .xaml file, and any graphics files you need, to the *SolutionName* project. These files must actually be copied to the *SolutionName* project directory, not added from some other directory. |
| 102 | + |
| 103 | + On all the files, set the **Item Type** property to **Isolated Shell File** in order for the files to be copied to the *$RootFolder$* directory. (To set the **Item Type** property, right-click the file and select **Properties**. This property is found under **Configuration Properties**, **General**.) |
| 104 | + |
| 105 | + For more information on customizing start pages, see [Customizing the Start Page](../ide/customizing-the-start-page-for-visual-studio.md). |
| 106 | + |
| 107 | +## Using other elements of the isolated shell |
| 108 | + You can use other files and projects that are included in the isolated shell solution template to further customize your application. |
| 109 | + |
| 110 | +##### Enable/disable Visual Studio packages |
| 111 | + The *SolutionName*.pkgundef file allows you to disable certain kinds of Visual Studio functionality by excluding certain packages. For example, the following line: |
| 112 | + |
| 113 | +``` |
| 114 | +[$RootKey$\Projects\{A2FE74E1-B743-11d0-AE1A-00A0C90FFFC3}\AddItemTemplates\TemplateDirs\{39c9c826-8ef8-4079-8c95-428f5b1c323f}] |
| 115 | +``` |
| 116 | + |
| 117 | + removes the Miscellaneous Files project from the set of project templates displayed in the **New Project** dialog. For more details, see [Walkthrough: Creating a Basic Isolated Shell Application](../extensibility/walkthrough-creating-a-basic-isolated-shell-application.md). |
| 118 | + |
| 119 | +##### Enable/disable menu commands |
| 120 | + The *SolutionName*UI.vsct file includes a commented-out list of all the menu commands available to the isolated shell. To disable a given command, uncomment the corresponding row. For example, to disable the Window/Split comment, uncomment the `<Define name="No_SplitCommand"/>` row. For more details, see [Walkthrough: Creating a Basic Isolated Shell Application](../extensibility/walkthrough-creating-a-basic-isolated-shell-application.md). |
| 121 | + |
| 122 | +##### The bitmap used on the splash screen |
| 123 | + You can customize the bitmap used on the splash screen, which is the window that is displayed when the application is started, by changing the value of the "SplashScreenBitmap" row in the *SolutionName*.Application.pkgdef file. For more details, see [Walkthrough: Creating a Basic Isolated Shell Application](../extensibility/walkthrough-creating-a-basic-isolated-shell-application.md). |
| 124 | + |
| 125 | +##### The Help/About window |
| 126 | + In the isolated shell template there is a separate project you can use to customize the Help/About box for your application. For more details, see [Walkthrough: Creating a Basic Isolated Shell Application](../extensibility/walkthrough-creating-a-basic-isolated-shell-application.md). |
0 commit comments