Babel Registry Information
The following information is for registering Babel for use with your language. The statements from the registry provide default paths and data where applicable, followed by a table containing entries from the registry script for each statement. In each of the tables, <VS Reg Root> is equal to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<X.Y>, where <X.Y> is the version of Visual Studio, such as 8.0 or 8.0Exp. The table provides the registry entries and additional information.
Babel Language Service Options
Note that the Extensions and CodeSensFastOnLineChange entries are exclusive to the Babel Package.
<VS Reg Root>\Languages\Language Services\<Language Name>\
(Default) = reg_sz:<Language GUID>
Package = reg_sz:<Babel Package GUID>
Extensions = reg_sz:<Language File Extensions>
LangResID = reg_dword:0x00000000
RequestStockColors = reg_dword:0x00000000
ShowCompletion = reg_dword:0x00000000
QuickInfo = reg_dword:0x00000000
SortMemberList = reg_dword:0x00000000
CodeSense = reg_dword:0x00000000
CodeSenseDelay = reg_dword:0x00000000
CodeSenseFastOnLineChange = reg_dword:0x00000000
MaxErrorMessages = reg_dword:0x00000000
MatchBraces = reg_dword:0x00000000
ShowMatchingBrace = reg_dword:0x00000000
MatchBracesAtCaret = reg_dword:0x00000000
Name |
Type |
Range |
Description |
---|---|---|---|
(Default) |
REG_SZ |
<GUID> |
A unique GUID for this Babel Language service. |
Package |
REG_SZ |
<GUID> |
GUID of the Babel Package. Default is {221F0EB7-30F7-45FF-AE73-5968B167CF09}. |
Extensions |
REG_SZ |
EXT_1; ;EXT_N; |
Semicolon-delimited list of file extensions for your language. Each extension begins with ".". For example, ".cpp". This list is used to determine what files can be loaded and parsed by a particular Babel language service (see the IBabelPackage::LoadScope Method). |
LangResId |
REG_DWORD |
0-ffff |
String resource identifier (ResID) for the localized text name of the language. |
RequestStockColors |
BOOL |
0-1 |
Specifies whether custom or default colors are used to color keywords. If this is 1, the default color classes are used, otherwise custom color classes are used, which implies a call to the IBabelService::ColorCount Method and the IBabelService::GetColorInfo Method. Default is 0. |
ShowCompletion |
BOOL |
0-1 |
Specifies whether statement completion is supported. |
QuickInfo |
BOOL |
0-1 |
If this is 1, then quick info tips are displayed when you hover the mouse on an identifier. Default is 1. |
SortMemberList |
BOOL |
0-1 |
If this is 1, the member information list is sorted. This list is shown when the Edit -> IntelliSense -> List Members command is selected. Default is 1. |
CodeSense |
BOOL |
0-1 |
If this is 1, errors are shown in the source with red squigglies. This implies a call to the IBabelService::ParseSource Method. If it is 0, other features like quick info might be disabled too (since no parse information is available). Default is 1. |
CodeSenseDelay |
DWORD |
0-n |
The minimal amount of milliseconds that have to pass between the last action of the user and the appearance of red squigglies in the source. If this is too low, users might get annoyed by the red squigglies that appear while they're typing. Default is 1500. |
CodeSenseFastOnLineChange |
BOOL |
0-1 |
If this is 1, the CodeSenseDelay entry is ignored when the user moves off the current line. This is how Visual Basic works and is appropriate for line-based languages. Default is 0. |
MaxErrorMessages |
DWORD |
0-n |
The maximum number of error messages that are displayed for a single source in the task window. Default is 5. |
MatchBraces |
BOOL |
0-1 |
If this is 1, then brace matching is enabled. Default is 1. |
ShowMatchingBrace |
BOOL |
0-1 |
If this is 1, the source line of a matching brace is displayed in the status bar. Useful for languages where the matching brace might be out of the current window. Default is 0. |
MatchBracesAtCaret |
BOOL |
0-1 |
If this is 1, the brace at the caret will automatically be matched and bold. Very useful for parenthesis heavy languages like Lisp and Scheme. Default is 0. |
COM CLSID Options
The Babel language service must have its CLSID registered with COM. This is how a single instance of the Babel Package can find the appropriate DLL for a particular language.
HKEY_CLASSES_ROOT\CLSID\
<Language GUID>\
InProcServer32\
(Default) = reg_sz:<Path to Language Service DLL>
Name |
Type |
Range |
Description |
---|---|---|---|
(Default) |
REG_SZ |
NA |
The install path of this language service DLL. |
File Extension Options
The <File Extension> always contains the leading period, for example, ".myext".
<VS Reg Root>\Languages\FileExtensions\
<File Extension>\
(Default) = reg_sz: <Language GUID>
Name = reg_sz: <Language Name>
Name |
Type |
Range |
Description |
---|---|---|---|
Default |
REG_SZ |
<GUID> |
A unique class ID for this Babel Language service. |
Name |
REG_SZ |
NA |
Name of the language. This value is optional but strongly recommended. |
Visual Studio Service Options
The Babel language service must be registered as a Visual Studio service.
<VS Reg Root>\Services\
<Language GUID>\
(Default) = reg_sz: <Babel Package GUID>
Name = reg_sz: <Language Name>
Name |
Type |
Range |
Description |
---|---|---|---|
Default |
REG_SZ |
<GUID> |
GUID of the Babel Package. Default is {221F0EB7-30F7-45FF-AE73-5968B167CF09}. |
Name |
REG_SZ |
NA |
Name of the language. This value is optional but strongly recommended. |
See Also
Concepts
Implementing the IBabelService Interface