Change language of this page: English, German

ltex.enabled

Controls whether the extension is enabled. Allows disabling LanguageTool on specific workspaces or for specific code language modes (i.e., file types).

Either supply a Boolean value stating whether LTEX+ is enabled for all supported markup languages or disabled for all of them, or supply a list of code language identifiers for which LTEX+ should be enabled (note that extensions can define additional code language identifiers).

All supported markup languages are listed in the default value of this setting. In addition, LTEX+ can check comments in many popular programming languages like C++ or Java, if you add the corresponding code language identifiers to this setting. If you add an unsupported code language mode, LTEX+ will check corresponding files as plain text without any parsing.

The activation events are unaffected by this setting. This means that the extension will be activated whenever a file with a supported code language mode is opened. For unsupported code language modes, you may need to activate the extension explicitly by executing the LTeX: Activate Extension` command.

Changes require restarting LTEX+ to take effect.

Type: boolean or array

Examples:

  • true
  • false
  • ["latex", "markdown"]

Default: ["bibtex", "context", "context.tex", "html", "latex", "markdown", "mdx", "typst", "asciidoc", "neorg", "org", "quarto", "restructuredtext", "rsweave"]

Full type description:

One of the following types:

  • Scalar of type boolean
  • Array where each entry has the following type:

    • Scalar of type string

ltex.language

The language LanguageTool should check against. Pick the BCP-47 code that best matches your text (e.g., "en-US", "fr-FR", "de-DE", "ca-ES-valencia").

The modern fully-spelled codes "fr-FR", "it-IT", "es-ES", "nl-NL", "sv-SE", and "fa-IR" require ltex-ls-plus 18.7.x or newer; on earlier releases these specific codes were rejected, while most other extended codes such as "en-US", "en-GB", "de-DE", "de-CH", and "de-AT" already worked. For a best-effort description of how language codes were handled on those versions, see Language Codes in Older Versions. Current versions still accept the legacy bare codes ("fr", "it", "de", "en", …) for backward compatibility but they are no longer advertised below and should not be used in new configurations.

When using the language code "auto", LTEX+ will try to detect the language of the document. If you already know which language a fragment is in, prefer setting the language explicitly to avoid surprises. Detection is most reliable when LTEX+ talks to a LanguageTool server with the Ngram detector — that includes LanguageTool’s hosted API (free or Premium). The bundled local checker and self-hosted LanguageTool servers without the Ngram language-data download use a lighter detector and may be less accurate. For documents that switch language partway through, use in-document magic comments instead — for example, in Markdown: <!-- LTeX: language=de-DE -->. The exact syntax depends on the document type.

Two annotations may appear in the list below. (also accepts: "<code>") marks a LanguageTool alias — an alternative spelling of a canonical entry that resolves to the same checker (for example, "no" is treated as "nb", so the two codes are interchangeable). (only on api.languagetoolplus.com) marks a code recognized only by LanguageTool’s own hosted API. The bundled checker and self-hosted instances of the open-source LanguageTool server share the same code set and do not recognize these codes — even when reached via ltex.languageToolHttpServerUri.

Type: string

Possible values:

  • "auto": Automatic language detection
  • "ar": Arabic
  • "ast-ES": Asturian
  • "be-BY": Belarusian
  • "br-FR": Breton
  • "ca-ES": Catalan
  • "ca-ES-balear": Catalan (Balearic)
  • "ca-ES-valencia": Catalan (Valencian)
  • "crh-UA": Crimean Tatar
  • "da-DK": Danish
  • "de-AT": German (Austria)
  • "de-CH": German (Swiss)
  • "de-DE": German (Germany)
  • "de-DE-x-simple-language": Simple German (also accepts: "de-DE-x-simple-language-DE")
  • "el-GR": Greek
  • "en-AU": English (Australian)
  • "en-CA": English (Canadian)
  • "en-GB": English (GB)
  • "en-NZ": English (New Zealand)
  • "en-US": English (US)
  • "en-ZA": English (South African)
  • "eo": Esperanto
  • "es-AR": Spanish (voseo)
  • "es-ES": Spanish
  • "fa-IR": Persian
  • "fr-BE": French (Belgium)
  • "fr-CA": French (Canada)
  • "fr-CH": French (Switzerland)
  • "fr-FR": French
  • "ga-IE": Irish
  • "gl-ES": Galician
  • "it-IT": Italian
  • "ja-JP": Japanese
  • "km-KH": Khmer
  • "nb": Norwegian (Bokmål) (also accepts: "no"; only on api.languagetoolplus.com)
  • "nl-BE": Dutch (Belgium)
  • "nl-NL": Dutch
  • "pl-PL": Polish
  • "pt-AO": Portuguese (Angola preAO)
  • "pt-BR": Portuguese (Brazil)
  • "pt-MZ": Portuguese (Moçambique preAO)
  • "pt-PT": Portuguese (Portugal)
  • "ro-RO": Romanian
  • "ru-RU": Russian
  • "sk-SK": Slovak
  • "sl-SI": Slovenian
  • "sv-SE": Swedish
  • "ta-IN": Tamil
  • "tl-PH": Tagalog
  • "uk-UA": Ukrainian
  • "zh-CN": Chinese

Default: "en-US"

ltex.dictionary

Lists of additional words that should not be counted as spelling errors.

This setting is language-specific, so use an object of the format {"<LANGUAGE1>": ["<WORD1>", "<WORD2>", ...], "<LANGUAGE2>": ["<WORD1>", "<WORD2>", ...], ...}, where <LANGUAGE> denotes the language code in ltex.language.

This setting is a multi-scope setting.

This setting supports external files.

By default, no additional spelling errors will be ignored.

Type: object

Example: {"en-US": ["adaptivity", "precomputed", "subproblem"], "de-DE": ["B-Splines", ":/path/to/externalFile.txt"]}

Default: {}

Full type description:

Object keyed by language code (see ltex.language for accepted values), where the value of each property has the following type:

  • Array where each entry has the following type:

    • Scalar of type string

ltex.disabledRules

Lists of rules that should be disabled (if enabled by default by LanguageTool).

This setting is language-specific, so use an object of the format {"<LANGUAGE1>": ["<RULE1>", "<RULE2>", ...], "<LANGUAGE2>": ["<RULE1>", "<RULE2>", ...], ...}, where <LANGUAGE> denotes the language code in ltex.language and <RULE> the ID of the LanguageTool rule.

This setting is a multi-scope setting.

This setting supports external files.

By default, no additional rules will be disabled.

Type: object

Example: {"en-US": ["EN_QUOTES", "UPPERCASE_SENTENCE_START", ":/path/to/externalFile.txt"]}

Default: {}

Full type description:

Object keyed by language code (see ltex.language for accepted values), where the value of each property has the following type:

  • Array where each entry has the following type:

    • Scalar of type string

ltex.enabledRules

Lists of rules that should be enabled (if disabled by default by LanguageTool).

This setting is language-specific, so use an object of the format {"<LANGUAGE1>": ["<RULE1>", "<RULE2>", ...], "<LANGUAGE2>": ["<RULE1>", "<RULE2>", ...], ...}, where <LANGUAGE> denotes the language code in ltex.language and <RULE> the ID of the LanguageTool rule.

This setting is a multi-scope setting.

This setting supports external files.

By default, no additional rules will be enabled.

Type: object

Example: {"en-GB": ["PASSIVE_VOICE", "OXFORD_SPELLING_NOUNS", ":/path/to/externalFile.txt"]}

Default: {}

Full type description:

Object keyed by language code (see ltex.language for accepted values), where the value of each property has the following type:

  • Array where each entry has the following type:

    • Scalar of type string

ltex.hiddenFalsePositives

Lists of false-positive diagnostics to hide (by hiding all diagnostics of a specific rule within a specific sentence).

This setting is language-specific, so use an object of the format {"<LANGUAGE1>": ["<JSON1>", "<JSON2>", ...], "<LANGUAGE2>": ["<JSON1>", "<JSON2>", ...], ...}, where <LANGUAGE> denotes the language code in ltex.language and <JSON> is a JSON string containing information about the rule and sentence.

Although it is possible to manually edit this setting, the intended way is the Hide false positive quick fix.

The JSON string currently has the form {"rule": "<RULE>", "sentence": "<SENTENCE>"}, where <RULE> is the ID of the LanguageTool rule and <SENTENCE> is a Java-compatible regular expression. All occurrences of the given rule are hidden in sentences (as determined by the LanguageTool tokenizer) that match the regular expression. See the documentation for details.

This setting is a multi-scope setting.

This setting supports external files.

If this list is very large, performance may suffer.

Type: object

Example: {"en-US": [":/path/to/externalFile.txt"]}

Default: {}

Full type description:

Object keyed by language code (see ltex.language for accepted values), where the value of each property has the following type:

  • Array where each entry has the following type:

    • Scalar of type string

ltex.bibtex.fields

List of BibTEX fields whose values are to be checked in BibTEX files.

This setting is an object with the field names as keys (not restricted to classical BibTEX fields) and Booleans as values, where true means that the field value should be checked and false means that the field value should be ignored.

Some common fields are already ignored, even if you set this setting to an empty object.

Type: object

Example: {"maintitle": false, "seealso": true}

Default: {}

Full type description:

Object with arbitrary property names, where the value of each property has the following type:

  • Scalar of type boolean

ltex.latex.commands

List of LATEX commands to be handled by the LATEX parser, listed together with empty arguments (e.g., "\ref{}", "\documentclass[]{}").

This setting is an object with the commands as keys and corresponding actions as values.

If you edit the settings.json file directly, don’t forget to escape the initial backslash by replacing it with two backslashes. If you use the VS Code Settings panel, only type one backslash.

Many common commands are already handled by default, even if you set this setting to an empty object.

Type: object

Example: {"\\label{}": "ignore", "\\documentclass[]{}": "ignore", "\\cite{}": "dummy", "\\cite[]{}": "dummy"}

Default: {}

Full type description:

Object with arbitrary property names, where the value of each property has the following type:

  • One of the following values:

    • "default": The command is treated like unknown commands are treated by default: The command name itself is ignored, but the arguments are not ignored.
    • "ignore": The whole command together with its arguments is ignored.
    • "dummy": The whole command together with its arguments is replaced with a dummy word (i.e., Dummy0, Dummy1, etc.). LTEX+ internally uses this mechanism for equations, citations, references, and similar constructs that are part of the sentence structure and for which LanguageTool would throw an error if simply omitted from the checked text.
    • "pluralDummy": The whole command together with its arguments is replaced with a plural dummy word (i.e., Dummies). See description for "dummy".
    • "vowelDummy": The whole command together with its arguments is replaced with a vowel dummy word (i.e., Ina). See description for "dummy".

ltex.latex.environments

List of names of LATEX environments to be handled by the LATEX parser.

This setting is an object with the environment names as keys and corresponding actions as values.

Some environments are already handled by default, even if you set this setting to an empty object.

Type: object

Example: {"lstlisting": "ignore", "verbatim": "ignore"}

Default: {}

Full type description:

Object with arbitrary property names, where the value of each property has the following type:

  • One of the following values:

    • "default": The environment is treated like unknown environments are treated by default: The arguments of the environment are ignored, but the contents of the environment are not ignored.
    • "ignore": The whole environment together with its arguments and contents is ignored.

ltex.markdown.nodes

List of Markdown node types to be handled by the Markdown parser.

This setting is an object with the node types as keys and corresponding actions as values.

The Markdown parser constructs an AST (abstract syntax tree) for the Markdown document, in which all leaves have node type Text. The possible node types are listed in the documentation of flexmark-java.

Some common node types are already handled by default, even if you set this setting to an empty object.

Type: object

Example: {"CodeBlock": "ignore", "FencedCodeBlock": "ignore", "AutoLink": "dummy", "Code": "dummy"}

Default: {}

Full type description:

Object with arbitrary property names, where the value of each property has the following type:

  • One of the following values:

    • "default": The node is not treated specially.
    • "ignore": The whole node together with its Text leaves is ignored.
    • "dummy": The whole node together with its Text leaves is replaced with a dummy word (i.e., Dummy0, Dummy1, etc.). LTEX+ internally uses this mechanism for example for inline code (inside backticks) that is part of the sentence structure and for which LanguageTool would throw an error if simply omitted from the checked text.
    • "pluralDummy": The whole node together with its Text leaves is replaced with a plural dummy word (i.e., Dummies). See description for "dummy".
    • "vowelDummy": The whole node together with its Text leaves is replaced with a vowel dummy word (i.e., Ina). See description for "dummy".

ltex.configurationTarget

Controls which settings.json or external setting file (see documentation) to update when using one of the quick fixes.

Type: object

Default: {"dictionary": "workspaceFolderExternalFile", "disabledRules": "workspaceFolderExternalFile", "hiddenFalsePositives": "workspaceFolderExternalFile"}

Full type description:

Object with the following properties:

  • "dictionary": One of the following values:

    • "user": When adding a word to the dictionary, always update the user configuration.
    • "workspace": When adding a word to the dictionary, update the workspace configuration if currently in a workspace, otherwise update the user configuration.
    • "workspaceFolder": When adding a word to the dictionary, update the workspace folder configuration if currently in a workspace folder, otherwise update the workspace configuration if currently in a workspace, otherwise update the user configuration.
    • "userExternalFile": When adding a word to the dictionary, always update the first external setting file listed in the user configuration.
    • "workspaceExternalFile": When adding a word to the dictionary, update the first external setting file listed in the workspace configuration if currently in a workspace, otherwise update the analogous file in the user configuration.
    • "workspaceFolderExternalFile": When adding a word to the dictionary, update the first external setting file listed in the workspace folder configuration if currently in a workspace folder, otherwise update the analogous file in the workspace configuration if currently in a workspace, otherwise update the analogous file in the user configuration.
  • "disabledRules": One of the following values:

    • "user": When disabling a rule, always update the user configuration.
    • "workspace": When disabling a rule, update the workspace configuration if currently in a workspace, otherwise update the user configuration.
    • "workspaceFolder": When disabling a rule, update the workspace folder configuration if currently in a workspace folder, otherwise update the workspace configuration if currently in a workspace, otherwise update the user configuration.
    • "userExternalFile": When disabling a rule, always update the first external setting file listed in the user configuration.
    • "workspaceExternalFile": When disabling a rule, update the first external setting file listed in the workspace configuration if currently in a workspace, otherwise update the analogous file in the user configuration.
    • "workspaceFolderExternalFile": When disabling a rule, update the first external setting file listed in the workspace folder configuration if currently in a workspace folder, otherwise update the analogous file in the workspace configuration if currently in a workspace, otherwise update the analogous file in the user configuration.
  • "hiddenFalsePositives": One of the following values:

    • "user": When hiding a false positive, always update the user configuration.
    • "workspace": When hiding a false positive, update the workspace configuration if currently in a workspace, otherwise update the user configuration.
    • "workspaceFolder": When hiding a false positive, update the workspace folder configuration if currently in a workspace folder, otherwise update the workspace configuration if currently in a workspace, otherwise update the user configuration.
    • "userExternalFile": When hiding a false positive, always update the first external setting file listed in the user configuration.
    • "workspaceExternalFile": When hiding a false positive, update the first external setting file listed in the workspace configuration if currently in a workspace, otherwise update the analogous file in the user configuration.
    • "workspaceFolderExternalFile": When hiding a false positive, update the first external setting file listed in the workspace folder configuration if currently in a workspace folder, otherwise update the analogous file in the workspace configuration if currently in a workspace, otherwise update the analogous file in the user configuration.

ltex.additionalRules.enablePickyRules

Enable LanguageTool rules that are marked as picky and that are disabled by default, e.g., rules about passive voice, sentence length, etc., at the cost of more false positives.

Type: boolean

Default: false

ltex.additionalRules.motherTongue

Optional mother tongue of the user (e.g., "de-DE").

If set, additional rules will be checked to detect false friends. Picky rules may need to be enabled in order to see an effect (see ltex.additionalRules.enablePickyRules). False friend detection improves if a language model is supplied (see ltex.additionalRules.languageModel).

Type: string

Possible values:

  • "": No mother tongue
  • "ar": Arabic
  • "ast-ES": Asturian
  • "be-BY": Belarusian
  • "br-FR": Breton
  • "ca-ES": Catalan
  • "ca-ES-balear": Catalan (Balearic)
  • "ca-ES-valencia": Catalan (Valencian)
  • "crh-UA": Crimean Tatar
  • "da-DK": Danish
  • "de-AT": German (Austria)
  • "de-CH": German (Swiss)
  • "de-DE": German (Germany)
  • "de-DE-x-simple-language": Simple German (also accepts: "de-DE-x-simple-language-DE")
  • "el-GR": Greek
  • "en-AU": English (Australian)
  • "en-CA": English (Canadian)
  • "en-GB": English (GB)
  • "en-NZ": English (New Zealand)
  • "en-US": English (US)
  • "en-ZA": English (South African)
  • "eo": Esperanto
  • "es-AR": Spanish (voseo)
  • "es-ES": Spanish
  • "fa-IR": Persian
  • "fr-BE": French (Belgium)
  • "fr-CA": French (Canada)
  • "fr-CH": French (Switzerland)
  • "fr-FR": French
  • "ga-IE": Irish
  • "gl-ES": Galician
  • "it-IT": Italian
  • "ja-JP": Japanese
  • "km-KH": Khmer
  • "nb": Norwegian (Bokmål) (also accepts: "no"; only on api.languagetoolplus.com)
  • "nl-BE": Dutch (Belgium)
  • "nl-NL": Dutch
  • "pl-PL": Polish
  • "pt-AO": Portuguese (Angola preAO)
  • "pt-BR": Portuguese (Brazil)
  • "pt-MZ": Portuguese (Moçambique preAO)
  • "pt-PT": Portuguese (Portugal)
  • "ro-RO": Romanian
  • "ru-RU": Russian
  • "sk-SK": Slovak
  • "sl-SI": Slovenian
  • "sv-SE": Swedish
  • "ta-IN": Tamil
  • "tl-PH": Tagalog
  • "uk-UA": Ukrainian
  • "zh-CN": Chinese

Default: ""

ltex.additionalRules.languageModel

Optional path to a directory with rules of a language model with n-gram occurrence counts. Set this setting to the parent directory that contains subdirectories for languages (e.g., en).

Type: string

Default: ""

ltex.languageToolHttpServerUri

If set to a non-empty string, LTEX+ will not use the bundled, built-in version of LanguageTool. Instead, LTEX+ will connect to an external LanguageTool HTTP server. Set this to the root URI of the server — for example, https://api.languagetoolplus.com for LanguageTool’s hosted API, or http://localhost:8081 for a self-hosted server. LTEX+ automatically appends the API path (/v2/check), so the URI should not include it.

Note that in this mode, the setting ltex.additionalRules.languageModel will not take any effect.

Please note that the premium API of languagetool.org has a size limit per request (see languagetool.org/http-api/). As a workaround, you can use magic comments to split a larger file into multiple fragments, which are then sent separately for checking (see Magic comments).

Type: string

Examples: "https://api.languagetoolplus.com" (hosted API), "http://localhost:8081" (self-hosted)

Default: ""

ltex.languageToolOrg.username

Username/email as used to log in at languagetool.org for Premium API access. Only relevant if ltex.languageToolHttpServerUri is set.

Type: string

Default: ""

ltex.languageToolOrg.apiKey

API key for Premium API access. Only relevant if ltex.languageToolHttpServerUri is set.

Type: string

Default: ""

ltex.ltex-ls.path

If set to an empty string, LTEX+ automatically downloads ltex-ls from GitHub, stores it in the folder of the extension, and uses it for the checking process. You can point this setting to an ltex-ls-plus release you downloaded by yourself. $VAR is replaced with the value of the environment variable.

Use the path to the root directory of ltex-ls-plus (it contains bin and lib subdirectories).

Changes require restarting LTEX+ to take effect.

Type: string

Default: ""

ltex.ltex-ls.logLevel

Logging level (verbosity) of the ltex-ls-plus server log, which is accessible via ViewOutput › LTEX Language Server`.

The levels in descending order are "severe", "warning", "info", "config", "fine", "finer", and "finest". All messages that have the specified log level or a higher level are logged.

ltex-ls does not use all log levels.

Type: string

Possible values:

  • "severe": Minimum verbosity. Only log severe errors.
  • "warning": Very low verbosity. Only log severe errors and warnings.
  • "info": Low verbosity. Additionally, log startup and shutdown messages.
  • "config": Medium verbosity. Additionally, log configuration messages.
  • "fine": Medium to high verbosity (default). Additionally, log when LanguageTool is called or LanguageTool has to be reinitialized due to changed settings.
  • "finer": High verbosity. Log additional debugging information such as full texts to be checked.
  • "finest": Maximum verbosity. Log all available debugging information.

Default: "fine"

ltex.java.path

If set to an empty string, LTEX+ uses a Java distribution that is bundled with ltex-ls-plus. You can point this setting to an existing Java installation on your computer to use that installation instead. $VAR is replaced with the value of the environment variable.

Use the same path as you would use for the JAVA_HOME environment variable (it usually contains bin and lib subdirectories, amongst others).

Changes require restarting LTEX+ to take effect.

Type: string

Default: ""

ltex.java.initialHeapSize

Initial size of the Java heap memory in megabytes (corresponds to Java’s -Xms option, must be a positive integer).

Decreasing this might decrease RAM usage of the Java process.

Changes require restarting LTEX+ to take effect.

Type: integer

Default: 64

ltex.java.maximumHeapSize

Maximum size of the Java heap memory in megabytes (corresponds to Java’s -Xmx option, must be a positive integer).

Decreasing this might decrease RAM usage of the Java process. If you set this too small, the Java process may exceed the heap size, in which case an OutOfMemoryError is thrown.

Changes require restarting LTEX+ to take effect.

Type: integer

Default: 2048

ltex.sentenceCacheSize

Size of the LanguageTool ResultCache in sentences (must be a positive integer).

If only a small portion of the text changed (e.g., a single key press in the editor), LanguageTool uses the cache to avoid rechecking the complete text. LanguageTool internally splits the text into sentences, and sentences that have already been checked are skipped.

Decreasing this might decrease RAM usage of the Java process. If you set this too small, checking time may increase significantly.

Changes require restarting LTEX+ to take effect.

Type: integer

Default: 2000

ltex.completionEnabled

Controls whether completion is enabled (also known as auto-completion, quick suggestions, and IntelliSense).

If this setting is enabled, then a list of words is displayed that complete the currently typed word (whenever the editor sends a completion request). The word list is generated from the hunspell dictionaries bundled with LanguageTool. Completion is handled locally by LTEX+, so it behaves the same regardless of whether ltex.languageToolHttpServerUri is set.

Completion lists are currently only available for the following languages: de-AT, de-CH, de-DE, en-AU, en-CA, en-GB, en-NZ, en-US, and en-ZA.

Known limitations:

  • Limited language coverage. Other languages are not supported yet; support could be added in future releases.
  • No frequency ranking. The list for each language is an alphabetical dump of all hunspell-derived word forms. Common words do not surface first — typing gu may suggest obscure entries like guacharo, guaiacols, guaiacums, or guanacos before more common words such as guarantee or guard.
  • Inflected and rare forms included. German lists exceed one million entries due to compounds and inflections, and English lists include uncommon or hyphenated word forms.

In VS Code, completion is triggered automatically while typing (via editor.quickSuggestions), with a delay controlled by editor.quickSuggestionsDelay (default: 10 ms). If you find the resulting completion lists too noisy, you can silence VS Code’s quick suggestions for prose (e.g., by setting "editor.quickSuggestions": { "other": false }) and request LTEX+ completions on demand by pressing Ctrl+Space instead.

These options can also be customized per language identifier (e.g., for [markdown]). See IntelliSense in VS Code for further customization options.

Type: boolean

Default: false

ltex.diagnosticSeverity

Severity of the diagnostics corresponding to the grammar and spelling errors.

Controls how and where the diagnostics appear in Visual Studio Code. The possible severities are "error", "warning", "information", and "hint".

This setting can either be a string with the severity to use for all diagnostics, or an object with rule-dependent severities. If an object is used, each key is the ID of a LanguageTool rule and each value is one of the possible severities. In this case, the severity of other rules, which don’t match any of the keys, has to be specified with the special key "default".

Type: string or object

Examples:

  • "information"
  • {"PASSIVE_VOICE": "hint", "default": "information"}

Default: "information"

Full type description:

One of the following types:

  • One of the following values:

    • "error": Error diagnostics are usually underlined with a red squiggly line and appear in editor, minimap, Problems tab, and Explorer.
    • "warning": Warning diagnostics are usually underlined with a yellow squiggly line and appear in editor, minimap, Problems tab, and Explorer.
    • "information": Information diagnostics are usually underlined with a blue squiggly line and appear in editor, minimap, and Problems tab, but not in the Explorer.
    • "hint": Hint diagnostics are not underlined (only subtly marked) and only appear in the editor, not in minimap, Problems tab, or Explorer.
  • Object with arbitrary property names, where the value of each property has the following type:

    • One of the following values:

      • "error": Error diagnostics are usually underlined with a red squiggly line and appear in editor, minimap, Problems tab, and Explorer.
      • "warning": Warning diagnostics are usually underlined with a yellow squiggly line and appear in editor, minimap, Problems tab, and Explorer.
      • "information": Information diagnostics are usually underlined with a blue squiggly line and appear in editor, minimap, and Problems tab, but not in the Explorer.
      • "hint": Hint diagnostics are not underlined (only subtly marked) and only appear in the editor, not in minimap, Problems tab, or Explorer.

ltex.checkFrequency

Controls when documents should be checked.

One of "edit", "save", and "manual".

Type: string

Possible values:

  • "edit": Documents are checked when they are opened or edited (on every keystroke), or when the settings change.
  • "save": Documents are checked when they are opened or saved, or when the settings change.
  • "manual": Documents are not checked automatically, except when the settings change. Use commands such as LTeX: Check Current Document` to manually trigger checks.

Default: "edit"

ltex.clearDiagnosticsWhenClosingFile

If set to true, diagnostics of a file are cleared when the file is closed.

Type: boolean

Default: true

ltex.statusBarItem

If set to true, an item about the status of LTEX+ is shown permanently in the status bar.

Type: boolean

Default: false

ltex.trace.server

Debug setting to log the communication between language client and server.

When reporting issues, set this to "verbose" and open the LTEX Language Client log in ViewOutput`. Append the relevant part to the GitHub issue.

Changes require restarting LTEX+ to take effect.

Type: string

Possible values:

  • "off": Don’t log any of the communication between language client and server.
  • "messages": Log the type of requests and responses between language client and server.
  • "verbose": Log the type and contents of requests and responses between language client and server.

Default: "off"