Udostępnij za pośrednictwem


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

Other Resources

Using the Babel Package