The following sections provide lists of registry entries for the various language service options available in Visual Studio.
Registry Entries for Language Service Options
The following list of registry entries provides default paths and data where applicable. <VS Reg Root> is equal to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<X.Y>, where <X.Y> is the Visual Studio version number.
<VS Reg Root>\Languages\Language Services\<Language Name>\
(Default) = reg_sz:<Language GUID>
LangResID = reg_dword:0x00000000
Package = reg_sz:<Package GUID>
ShowCompletion = reg_dword:0x00000000
ShowSmartIndent = reg_dword:0x00000000
RequestStockColors = reg_dword:0x00000000
ShowHotURLs = reg_dword:0x00000000
Default to Non Hot URLs = reg_dword:0x00000000
DefaultToInsertSpaces = reg_dword:0x00000000
ShowDropdownBarOption = reg_dword:0x00000000
Single Code Window Only = reg_dword:0x00000000
EnableAdvancedMembersOption = reg_dword:0x00000000
Support CF_HTML = reg_dword:0x00000000
EnableLineNumbersOption = reg_dword:0x00000000
HideAdvancedMembersByDefault = reg_dword:0x00000000
The following table contains registry script and additional information for each entry.
Name |
Type |
Range |
Description |
|---|---|---|---|
(Default) |
REG_SZ |
<GUID> |
GUID of the language service. |
LangResID |
REG_DWORD |
0x0-0xffff |
String resource identifier (ResID) for the localized text name of the language. |
Package |
REG_SZ |
<GUID> |
GUID of the VSPackage. |
ShowCompletion |
REG_DWORD |
0-1 |
Specifies whether the Statement completion options in the Options dialog box are enabled. |
ShowSmartIndent |
REG_DWORD |
0-1 |
Specifies whether the option to select Smart indenting in the Options dialog box is enabled. |
RequestStockColors |
REG_DWORD |
0-1 |
Specifies whether custom or default colors are used to color keywords. |
ShowHotURLs |
REG_DWORD |
0-1 |
Specifies whether the user can click URLs. |
Default to Non Hot URLs |
REG_DWORD |
0-1 |
Specifies the initial setting for the Enable single-click URL navigation option in the Options dialog box. |
DefaultToInsertSpaces |
REG_DWORD |
0-1 |
Specifies whether the language service has "insert spaces" as its default tab option. |
ShowDropdownBarOption |
REG_DWORD |
0-1 |
Enables or disables the Navigation bar option in the Options dialog box that shows or hides the Navigation bar. |
Single Code Window Only |
REG_DWORD |
0-1 |
Enables or disables the New Window choice in the Window menu for a language service. |
EnableAdvancedMembersOption |
REG_DWORD |
0-1 |
Enables or disables an Options dialog box setting for Hide Advanced Members. |
Support CF_HTML |
REG_DWORD |
0-1 |
Specifies whether the editor enables copying and pasting of HTML data. |
EnableLineNumbersOption |
REG_DWORD |
0-1 |
Specifies whether the Line numbers options in the Options dialog box is enabled for a language service. |
HideAdvancedMembersByDefault |
REG_DWORD |
0-1 |
Specifies whether advanced members such as private fields are hidden in completion lists. |
Example
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0Exp\
Languages\
Language Services\
C/C++\
(Default) = reg_sz:{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}
LangResID = reg_dword:0x00000000
Package = reg_sz:{8C2EA640-ABC1-11D0-9D62-00C04FD9DFD9}
ShowCompletion = reg_dword:0x00000001
ShowSmartIndent = reg_dword:0x00000001
ShowDropdownBarOption = reg_dword:0x00000001
Registry Entries for Debugger Languages Options
<VS Reg Root>\Languages\Language Services\<Language Name>\Debugger Languages\<GUID>\
(Default) = reg_sz:<Language Name>
Name |
Type |
Range |
Description |
|---|---|---|---|
(Default) |
REG_SZ |
text |
The default value can be used to document the name of the language. The name of this key is a GUID of an expression evaluator that has a corresponding entry in <VS Reg Root>\AD7Metrics\Expression Evaluator. |
Example
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0Exp\
Languages\
Language Services\
C/C++\
Debugger Languages\
{3A12D0B7-C26C-11D0-B442-00A0244A1DD2}\
(Default) = reg_sz:C++
Registry Entries for Editor Tools Options
You can add registry keys of the form \EditorToolsOptions\<Page or Node Name> that each share the same format. These keys and their entries identify property pages in the Options dialog box that are used to configure the language service. The property pages are available from Options in the Tools menu. A <Page Name> is the name of a property page, whereas a <Node Name> is a name of a node in the tree on the Options dialog box. A node does not specify the Page registry entry.
<VS Reg Root>\Languages\Language Services\<Language Name>\EditorToolsOptions\
<Page Name>\
(Default) = <localized name to display>
Package = <PackageGuid>
Page = <PropertyPageGuid>
<Node Name>\
(Default) = <localized name to display>
Package = <PackageGuid>
<Page Name>\
(Default) = <localized name to display>
Package = <PackageGuid>
Page = <PropertyPageGuid>
<Node Name>\
(Default) = <localized name to display>
Package = <PackageGuid>
<Page Name>\
(Default) = <localized name to display>
Package = <PackageGuid>
Page = <PropertyPageGuid>
Name |
Type |
Range |
Description |
|---|---|---|---|
(Default) |
REG_SZ |
ResID |
The localized display name of this option page. The name can be literal text, or #nnn, where nnn is a string resource ID in the satellite DLL of the specified VSPackage. |
Package |
REG_SZ |
<GUID> |
VSPackage GUID of the VSPackage that implements this options page. |
Page |
REG_SZ |
<GUID> |
Page GUID of the property page to request from the VSPackage by calling the GetPropertyPage method. If this registry entry is not present, the registry key describes a node, not a page. |
Example
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0Exp\
Languages\
Language Services\
CSharp\
EditorToolsOptions\
Formatting\
(Default) = reg_sz:#242
Package = reg_sz:{A066E284-DCAB-11D2-B551-00C04F68D4DB}
General\
(Default) = reg_sz:#255
Package = reg_sz:{A066E284-DCAB-11D2-B551-00C04F68D4DB}
Page = reg_sz:{3EB2CC0B-033E-4D75-B26A-B2362C25227E}
Indentation\
(Default) = reg_sz:#250
Package = reg_sz:{A066E284-DCAB-11D2-B551-00C04F68D4DB}
Page = reg_sz:{5E21D017-6D2A-4114-A1F1-C923F001CBBB}
Newlines\
(Default) = reg_sz:#253
Package = reg_sz:{A066E284-DCAB-11D2-B551-00C04F68D4DB}
Page = reg_sz:{607D8062-68D1-41E4-9A35-B5E7F14D0481}
Registry Entries for File Name Extension Options
The <File Extension> always contains the leading period, such as ".myext".
<VS Reg Root>\Languages\File Extensions\
<File Extension>\
(Default) = <Language service Guid>
Name |
Type |
Range |
Description |
|---|---|---|---|
(Default) |
REG_SZ |
<GUID> |
Service GUID for the default language service for this file name extension type. |
Example
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0Exp\
Languages\
File Extensions\
.cpp\
(Default) = {B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}
Registry Entries for Editor Options
<VS Reg Root>\Editors\
<Editor GUID>\
(Default) = reg_sz:<Editor Name>
DefaultToolboxTab = reg_sz:<Name of Toolbox Tab>
DisplayName = reg_sz:<Editor Display Name>
ExcludeDefTextEditor = reg_dword:0x00000000
LinkedEditorGUID = reg_sz:<Editor Factory GUID>
Package = reg_sz:<Package GUID>
Name |
Type |
Range |
Description |
|---|---|---|---|
(Default) |
REG_SZ |
"" |
Unused; you can put your name here for documentation. |
DefaultToolboxTab |
REG_SZ |
"" |
Name of the toolbox tab to make default when the editor is active. |
DisplayName |
REG_SZ |
ResID |
Name to display in the Open With dialog box. The name is the string resource ID or a name in standard format. |
ExcludeDefTextEditor |
REG_DWORD |
0-1 |
Used for the Open With menu command. If you do not want to list the default text editor in the list of available editors for a specific file type, set this value to 1. |
LinkedEditorGUID |
REG_SZ |
<GUID> |
Used for any language service that can open a file with codepage support. For example, when you open a .txt file by using the Open With command, options are provided for using the source code editor with and without encoding. The GUID specified in the name of the subkey is for the codepage editor factory; the linked GUID specified in this specific registry entry is for the regular editor factory. The purpose of this entry is that if the IDE does not open a file by using the default editor, the IDE will try to use the next editor in the list. This next editor should not be the codepage editor factory because this editor factory is basically the same as the editor factory that failed. |
Package |
REG_SZ |
<GUID> |
VSPackage GUID for the display name's ResID. |
Example
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0Exp\
\Editors\
{8281C572-2171-45AA-A642-7D8BC1662F1C}\
(Default) = reg_sz:Html Editor with Encoding
DefaultToolboxTab = reg_sz:HTML
DisplayName = reg_sz:#20101
LinkedEditorGUID = reg_sz:{C76D83F8-A489-11D0-8195-00A0C91BBEE3}
Package = reg_sz:{1B437D20-F8FE-11D2-A6AE-00104BCC7269}
Registry Entries for Logical View Options
<VS Reg Root>\Editors\<Editor GUID>\LogicalViews\
(Default) = reg_sz:
<Logical View GUID> = reg_sz:""
Name |
Type |
Range |
Description |
|---|---|---|---|
(Default) |
REG_SZ |
|
Unused. |
<GUID> |
REG_SZ |
"" |
Key to the logical views supported. You can have as many of these as you need. The name of the registry entry is what is important, not the value, which is always an empty string. |
Example
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0Exp\
\Editors\
{8281C572-2171-45AA-A642-7D8BC1662F1C}\
LogicalViews\
(Default) = reg_sz:
{7651a700-06e5-11d1-8ebd-00a0c90f26ea} = reg_sz:
{7651a701-06e5-11d1-8ebd-00a0c90f26ea} = reg_sz:
{7651a702-06e5-11d1-8ebd-00a0c90f26ea} = reg_sz:
{7651a703-06e5-11d1-8ebd-00a0c90f26ea} = reg_sz:
Registry Entries for Editor Extension Options
The file name extension used here as a registry entry name does not include the leading period.
<VS Reg Root>\Editors\<Editor GUID>\Extensions\
(Default) = reg_sz:
<ext> = reg_reg_dword:0x00000000
Name |
Type |
Range |
Description |
|---|---|---|---|
(Default) |
REG_SZ |
|
Unused. |
<ext> |
REG_DWORD |
0-0xffffffff |
Relative priority. This determines what preference is given to two or more languages that claim the same file name extension. For example, the HTML editor registers the "*" file name extension with a priority of 0x18 and the "xslt" file name extension with a priority of 0x27. Your language must claim a higher priority (larger number) for the "xslt" file name extension to claim that file type. You can have as many <ext> entries as you need. |
Additionally, the current user's default selection for an editor is stored in HKEY_Current_User\Software\Microsoft\VisualStudio\<X.Y>\Default Editors\<ext>. The GUID of the selected language service is stored under a REG_SZ registry entry that is named Custom. This takes precedence for the current user.
Example
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0Exp\
\Editors\
{8281C572-2171-45AA-A642-7D8BC1662F1C}\
Extensions\
(Default) = reg_sz:
* = reg_dword:0x00000018
html = reg_dword:0x00000027
shtm = reg_dword:0x00000027
shtml = reg_dword:0x00000027
Registry Entries for Managed Package Framework Language Service Options
The following registry entries are specific to the managed package framework (MPF) language service classes. These registry entries indicate support in the language service for various IntelliSense features and for other advanced editing features.
These registry entries are accessed through the LanguagePreferences class.
<VS Reg Root>\Languages\Language Services\<Language Name>\
CodeSense = reg_dword:0x00000000
MatchBraces = reg_dword:0x00000000
QuickInfo = reg_dword:0x00000000
ShowMatchingBrace = reg_dword:0x00000000
MatchBracesAtCaret = reg_dword:0x00000000
MaxErrorMessages = reg_dword:0x00000000
CodeSenseDelay = reg_dword:0x00000000
EnableAsyncCompletion = reg_dword:0x00000000
EnableCommenting = reg_dword:0x00000000
EnableFormatSelection = reg_dword:0x00000000
AutoOutlining = reg_dword:0x00000000
MaxRegions = reg_dword:0x00000000
Name |
Type |
Range |
Description |
|---|---|---|---|
CodeSense |
REG_DWORD |
0-1 |
Indicates support for IntelliSense operations. |
MatchBraces |
REG_DWORD |
0-1 |
Indicates support for matching language pairs such as braces, parentheses, and brackets. |
QuickInfo |
REG_DWORD |
0-1 |
Indicates support for the IntelliSense Quick Info operation. |
ShowMatchingBrace |
REG_DWORD |
0-1 |
Indicates support for displaying the matching language pair in the status bar. |
MatchBracesAtCaret |
REG_DWORD |
0-1 |
Indicates support for displaying matching language pairs, typically through highlighting the two elements. |
MaxErrorMessages |
REG_DWORD |
0-n |
Specifies how many parser errors can be displayed in the Error List window. |
CodeSenseDelay |
REG_DWORD |
0-n |
Specifies the number of milliseconds to delay before initiating any background parsing for an IntelliSense operation. |
EnableAsyncCompletion |
REG_DWORD |
0-1 |
Indicates support for background parsing. |
EnableCommenting |
REG_DWORD |
0-1 |
Indicates support for commenting out selected blocks of text, and also implies support for uncommenting selected text. |
EnableFormatSelection |
REG_DWORD |
0-1 |
Indicates support for formatting text such as auto-indentation or adjusting the position of braces. |
AutoOutlining |
REG_DWORD |
0-1 |
Indicates support for outlining (regions of code that can optionally be collapsed behind a single line of text). |
MaxRegions |
REG_DWORD |
0-n |
Specifies maximum number of error messages that should be sent to the Error List task window from the language service parser. |
ExampleHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0Exp\
Languages\
Language Services\
XML\
(Default) = reg_sz:{f6819a78-a205-47b5-be1c-675b3c7f0b8e}
MatchBraces = reg_dword:0x00000001
QuickInfo = reg_dword:0x00000001
ShowMatchingBrace = reg_dword:0x00000001
MatchBracesAtCaret = reg_dword:0x00000000
MaxErrorMessages = reg_dword:0x00000064
CodeSenseDelay = reg_dword:0x000001f4
MaxRegions = reg_dword:0x0000000a