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 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