The language configuration interface defines the contract between extensions and various editor features, like automatic bracket insertion, automatic indentation etc.

interface LanguageConfiguration {
    __electricCharacterSupport?: {
        docComment?: IDocComment;
    autoCloseBefore?: string;
    autoClosingPairs?: IAutoClosingPairConditional[];
    brackets?: CharacterPair[];
    colorizedBracketPairs?: CharacterPair[];
    comments?: CommentRule;
    folding?: FoldingRules;
    indentationRules?: IndentationRule;
    onEnterRules?: OnEnterRule[];
    surroundingPairs?: IAutoClosingPair[];
    wordPattern?: RegExp;


__electricCharacterSupport?: {
    docComment?: IDocComment;

Deprecated Do not use.

Type declaration


Will be replaced by a better API soon.

autoCloseBefore?: string

Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the 'languageDefined' autoclosing setting.

This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.

autoClosingPairs?: IAutoClosingPairConditional[]

The language's auto closing pairs. The 'close' character is automatically inserted with the 'open' character is typed. If not set, the configured brackets will be used.

brackets?: CharacterPair[]

The language's brackets. This configuration implicitly affects pressing Enter around these brackets.

colorizedBracketPairs?: CharacterPair[]

Defines a list of bracket pairs that are colorized depending on their nesting level. If not set, the configured brackets will be used.

comments?: CommentRule

The language's comment settings.

folding?: FoldingRules

The language's folding rules.

indentationRules?: IndentationRule

The language's indentation settings.

onEnterRules?: OnEnterRule[]

The language's rules to be evaluated when pressing Enter.

surroundingPairs?: IAutoClosingPair[]

The language's surrounding pairs. When the 'open' character is typed on a selection, the selected string is surrounded by the open and close characters. If not set, the autoclosing pairs settings will be used.

wordPattern?: RegExp

The language's word definition. If the language supports Unicode identifiers (e.g. JavaScript), it is preferable to provide a word definition that uses exclusion of known separators. e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number): /(-?\d.\d\w)|([^`~!@#%^&*()-=+[{]}\|;:'",.<>/?\s]+)/g