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


  • LanguageConfiguration



Optional __electricCharacterSupport

__electricCharacterSupport: IBracketElectricCharacterContribution

Deprecated Do not use.


Will be replaced by a better API soon.

Optional autoCloseBefore

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.

Optional autoClosingPairs

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.

Optional brackets

brackets: CharacterPair[]

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

Optional comments

comments: CommentRule

The language's comment settings.

Optional folding

folding: FoldingRules

The language's folding rules.

Optional indentationRules

indentationRules: IndentationRule

The language's indentation settings.

Optional onEnterRules

onEnterRules: OnEnterRule[]

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

Optional surroundingPairs

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.

Optional wordPattern

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