Skip to main content

Interface: FileSettings

Defined in: cspell-types/dist/index.d.mts:1046

In the below JSDoc comment, we helpfully specify an example configuration for the end-user to reference. And this example will get captured by the automatic documentation generator.

However, specifying the glob pattern inside of a JSDoc is tricky, because the glob contains the same symbol as the end-of-JSDoc symbol. To work around this, we insert a zero-width space in between the "*" and the "/" symbols.

Extends

Extended by

Properties

$schema?

optional $schema: string

Defined in: cspell-types/dist/index.d.mts:1051

Url to JSON Schema

Default

"https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json"

allowCompoundWords?

optional allowCompoundWords: boolean

Defined in: cspell-types/dist/index.d.mts:1407

True to enable compound word checking.

Default

false

Inherited from

ExtendableSettings.allowCompoundWords


cache?

optional cache: CacheSettings

Defined in: cspell-types/dist/index.d.mts:1332

Define cache settings.

Inherited from

CommandLineSettings.cache


caseSensitive?

optional caseSensitive: boolean

Defined in: cspell-types/dist/index.d.mts:1419

Determines if words must match case and accent rules.

See Case Sensitivity for more details.

  • false - Case is ignored and accents can be missing on the entire word. Incorrect accents or partially missing accents will be marked as incorrect.
  • true - Case and accents are enforced.

Default

false

Inherited from

ExtendableSettings.caseSensitive


description?

optional description: string

Defined in: cspell-types/dist/index.d.mts:1396

Optional description of configuration.

Inherited from

ExtendableSettings.description


dictionaries?

optional dictionaries: string[]

Defined in: cspell-types/dist/index.d.mts:1443

Optional list of dictionaries to use. Each entry should match the name of the dictionary.

To remove a dictionary from the list, add ! before the name.

For example, !typescript will turn off the dictionary with the name typescript.

See the Dictionaries and Custom Dictionaries for more details.

Inherited from

ExtendableSettings.dictionaries


dictionaryDefinitions?

optional dictionaryDefinitions: DictionaryDefinition[]

Defined in: cspell-types/dist/index.d.mts:1432

Define additional available dictionaries.

For example, you can use the following to add a custom dictionary:

"dictionaryDefinitions": [
{ "name": "custom-words", "path": "./custom-words.txt"}
],
"dictionaries": ["custom-words"]

Inherited from

ExtendableSettings.dictionaryDefinitions


enabled?

optional enabled: boolean

Defined in: cspell-types/dist/index.d.mts:1401

Is the spell checker enabled.

Default

true

Inherited from

ExtendableSettings.enabled


enabledFileTypes?

optional enabledFileTypes: Record<string, boolean>

Defined in: cspell-types/dist/index.d.mts:1236

Enable / Disable checking file types (languageIds).

This setting replaces: Settings.enabledLanguageIds and Settings.enableFiletypes.

A Value of:

  • true - enable checking for the file type
  • false - disable checking for the file type

A file type of * is a wildcard that enables all file types.

Example: enable all file types

File TypeEnabledComment
*trueEnable all file types.
jsonfalseDisable checking for json files.

Title

Enabled File Types to Check

Since

8.8.1

Inherited from

ExtendableSettings.enabledFileTypes


enabledLanguageIds?

optional enabledLanguageIds: string[]

Defined in: cspell-types/dist/index.d.mts:1188

Specify a list of file types to spell check. It is better to use Settings.enabledFileTypes to Enable / Disable checking files types.

Title

Enabled Language Ids

Unique Items

true

Inherited from

ExtendableSettings.enabledLanguageIds


enableFiletypes?

optional enableFiletypes: string[]

Defined in: cspell-types/dist/index.d.mts:1214

Enable / Disable checking file types (languageIds).

These are in additional to the file types specified by Settings.enabledLanguageIds. To disable a language, prefix with ! as in !json,

Example: individual file types

jsonc       // enable checking for jsonc
!json // disable checking for json
kotlin // enable checking for kotlin

Example: enable all file types

*           // enable checking for all file types
!json // except for json

Title

Enable File Types

Scope

resource

Unique Items

true

Inherited from

ExtendableSettings.enableFiletypes


enableGlobDot?

optional enableGlobDot: boolean

Defined in: cspell-types/dist/index.d.mts:1097

Enable scanning files and directories beginning with . (period).

By default, CSpell does not scan hidden files.

Default

false

failFast?

optional failFast: boolean

Defined in: cspell-types/dist/index.d.mts:1337

Exit with non-zero code as soon as an issue/error is encountered (useful for CI or git hooks)

Default

false

Inherited from

CommandLineSettings.failFast


features?

optional features: Features

Defined in: cspell-types/dist/index.d.mts:1149

Configure CSpell features.

Since

5.16.0


files?

optional files: Glob[]

Defined in: cspell-types/dist/index.d.mts:1089

Glob patterns of files to be checked.

Glob patterns are relative to the globRoot of the configuration file that defines them.


flagWords?

optional flagWords: string[]

Defined in: cspell-types/dist/index.d.mts:652

List of words to always be considered incorrect. Words found in flagWords override words.

Format of flagWords

  • single word entry - word
  • with suggestions - word:suggestion or word->suggestion, suggestions

Example:

"flagWords": [
"color: colour",
"incase: in case, encase",
"canot->cannot",
"cancelled->canceled"
]

Inherited from

ExtendableSettings.flagWords


gitignoreRoot?

optional gitignoreRoot: string | string[]

Defined in: cspell-types/dist/index.d.mts:1139

Tells the spell checker to stop searching for .gitignore files when it reaches a matching root.


globRoot?

optional globRoot: string

Defined in: cspell-types/dist/index.d.mts:1083

The root to use for glob patterns found in this configuration. Default: location of the configuration file. For compatibility reasons, config files with version 0.1, the glob root will default to be ${cwd}.

Use globRoot to define a different location. globRoot can be relative to the location of this configuration file. Defining globRoot, does not impact imported configurations.

Special Values:

  • ${cwd} - will be replaced with the current working directory.
  • . - will be the location of the containing configuration file.

id?

optional id: string

Defined in: cspell-types/dist/index.d.mts:1392

Optional identifier.

Inherited from

ExtendableSettings.id


ignorePaths?

optional ignorePaths: Glob[]

Defined in: cspell-types/dist/index.d.mts:1103

Glob patterns of files to be ignored.

Glob patterns are relative to the globRoot of the configuration file that defines them.


ignoreRandomStrings?

optional ignoreRandomStrings: boolean

Defined in: cspell-types/dist/index.d.mts:234

Ignore sequences of characters that look like random strings.

Default

true

Inherited from

ExtendableSettings.ignoreRandomStrings


ignoreRegExpList?

optional ignoreRegExpList: RegExpPatternList

Defined in: cspell-types/dist/index.d.mts:1481

List of regular expression patterns or pattern names to exclude from spell checking.

Example: ["href"] - to exclude html href pattern.

Regular expressions use JavaScript regular expression syntax.

Example: to ignore ALL-CAPS words

JSON

"ignoreRegExpList": ["/\\b[A-Z]+\\b/g"]

YAML

ignoreRegExpList:
- >-
/\b[A-Z]+\b/g

By default, several patterns are excluded. See Configuration for more details.

While you can create your own patterns, you can also leverage several patterns that are built-in to CSpell.

Inherited from

ExtendableSettings.ignoreRegExpList


ignoreWords?

optional ignoreWords: string[]

Defined in: cspell-types/dist/index.d.mts:657

List of words to be ignored. An ignored word will not show up as an error, even if it is also in the flagWords.

Inherited from

ExtendableSettings.ignoreWords


import?

optional import: string | string[]

Defined in: cspell-types/dist/index.d.mts:1067

Allows this configuration to inherit configuration for one or more other files.

See Importing / Extending Configuration for more details.


includeRegExpList?

optional includeRegExpList: RegExpPatternList

Defined in: cspell-types/dist/index.d.mts:1490

List of regular expression patterns or defined pattern names to match for spell checking.

If this property is defined, only text matching the included patterns will be checked.

While you can create your own patterns, you can also leverage several patterns that are built-in to CSpell.

Inherited from

ExtendableSettings.includeRegExpList


language?

optional language: string

Defined in: cspell-types/dist/index.d.mts:1250

Current active spelling language. This specifies the language locale to use in choosing the general dictionary.

For example:

  • "en-GB" for British English.
  • "en,nl" to enable both English and Dutch.

Default

"en"

Inherited from

ExtendableSettings.language


languageId?

optional languageId: MatchingFileType

Defined in: cspell-types/dist/index.d.mts:1259

Forces the spell checker to assume a give language id. Used mainly as an Override.

Inherited from

ExtendableSettings.languageId


languageSettings?

optional languageSettings: LanguageSetting[]

Defined in: cspell-types/dist/index.d.mts:1257

Additional settings for individual languages.

See Language Settings for more details.

Inherited from

ExtendableSettings.languageSettings


loadDefaultConfiguration?

optional loadDefaultConfiguration: boolean

Defined in: cspell-types/dist/index.d.mts:1266

By default, the bundled dictionary configurations are loaded. Explicitly setting this to false will prevent ALL default configuration from being loaded.

Default

true

Inherited from

ExtendableSettings.loadDefaultConfiguration


maxDuplicateProblems?

optional maxDuplicateProblems: number

Defined in: cspell-types/dist/index.d.mts:222

The maximum number of times the same word can be flagged as an error in a file.

Default

5

Inherited from

ExtendableSettings.maxDuplicateProblems


maxNumberOfProblems?

optional maxNumberOfProblems: number

Defined in: cspell-types/dist/index.d.mts:216

The maximum number of problems to report in a file.

Default

10000

Inherited from

ExtendableSettings.maxNumberOfProblems


minRandomLength?

optional minRandomLength: number

Defined in: cspell-types/dist/index.d.mts:240

The minimum length of a random string to be ignored.

Default

40

Inherited from

ExtendableSettings.minRandomLength


minWordLength?

optional minWordLength: number

Defined in: cspell-types/dist/index.d.mts:228

The minimum length of a word before checking it against a dictionary.

Default

4

Inherited from

ExtendableSettings.minWordLength


name?

optional name: string

Defined in: cspell-types/dist/index.d.mts:1394

Optional name of configuration.

Inherited from

ExtendableSettings.name


noConfigSearch?

optional noConfigSearch: boolean

Defined in: cspell-types/dist/index.d.mts:1109

Prevents searching for local configuration when checking individual documents.

Default

false

noSuggestDictionaries?

optional noSuggestDictionaries: string[]

Defined in: cspell-types/dist/index.d.mts:1453

Optional list of dictionaries that will not be used for suggestions. Words in these dictionaries are considered correct, but will not be used when making spell correction suggestions.

Note: if a word is suggested by another dictionary, but found in one of these dictionaries, it will be removed from the set of possible suggestions.

Inherited from

ExtendableSettings.noSuggestDictionaries


numSuggestions?

optional numSuggestions: number

Defined in: cspell-types/dist/index.d.mts:10

Number of suggestions to make.

Default

10

Inherited from

ExtendableSettings.numSuggestions


overrides?

optional overrides: OverrideSettings[]

Defined in: cspell-types/dist/index.d.mts:1180

Overrides are used to apply settings for specific files in your project.

For example:

"overrides": [
// Force `*.hrr` and `*.crr` files to be treated as `cpp` files:
{
"filename": "**​/{*.hrr,*.crr}",
"languageId": "cpp"
},
// Force `*.txt` to use the Dutch dictionary (Dutch dictionary needs to be installed separately):
{
"language": "nl",
"filename": "**​/dutch/**​/*.txt"
}
]

Inherited from

ExtendableSettings.overrides


parser?

optional parser: string

Defined in: cspell-types/dist/index.d.mts:1737

Experimental

Parser to use for the file content

Since

6.2.0

Inherited from

ExtendableSettings.parser


patterns?

optional patterns: RegExpPatternDefinition[]

Defined in: cspell-types/dist/index.d.mts:1516

Defines a list of patterns that can be used with the ignoreRegExpList and includeRegExpList options.

For example:

"ignoreRegExpList": ["comments"],
"patterns": [
{
"name": "comment-single-line",
"pattern": "/#.*​/g"
},
{
"name": "comment-multi-line",
"pattern": "/(?:\\/\\*[\\s\\S]*?\\*\\/)/g"
},
// You can also combine multiple named patterns into one single named pattern
{
"name": "comments",
"pattern": ["comment-single-line", "comment-multi-line"]
}
]

Inherited from

ExtendableSettings.patterns


pnpFiles?

optional pnpFiles: string[]

Defined in: cspell-types/dist/index.d.mts:1287

The PnP files to search for. Note: .mjs files are not currently supported.

Default

[".pnp.js", ".pnp.cjs"]

Inherited from

ExtendableSettings.pnpFiles


readonly?

optional readonly: boolean

Defined in: cspell-types/dist/index.d.mts:1117

Indicate that the configuration file should not be modified. This is used to prevent tools like the VS Code Spell Checker from modifying the file to add words and other configuration.

Default

false

reporters?

optional reporters: ReporterSettings[]

Defined in: cspell-types/dist/index.d.mts:1130

Define which reports to use. default - is a special name for the default cli reporter.

Examples:

  • ["default"] - to use the default reporter
  • ["@cspell/cspell-json-reporter"] - use the cspell JSON reporter.
  • [["@cspell/cspell-json-reporter", { "outFile": "out.json" }]]
  • [ "default", ["@cspell/cspell-json-reporter", { "outFile": "out.json" }]] - Use both the default reporter and the cspell-json-reporter.

Default

["default"]

suggestionNumChanges?

optional suggestionNumChanges: number

Defined in: cspell-types/dist/index.d.mts:26

The maximum number of changes allowed on a word to be considered a suggestions.

For example, appending an s onto example -> examples is considered 1 change.

Range: between 1 and 5.

Default

3

Inherited from

ExtendableSettings.suggestionNumChanges


suggestionsTimeout?

optional suggestionsTimeout: number

Defined in: cspell-types/dist/index.d.mts:16

The maximum amount of time in milliseconds to generate suggestions for a word.

Default

500

Inherited from

ExtendableSettings.suggestionsTimeout


suggestWords?

optional suggestWords: string[]

Defined in: cspell-types/dist/index.d.mts:671

A list of suggested replacements for words. Suggested words provide a way to make preferred suggestions on word replacements. To hint at a preferred change, but not to require it.

Format of suggestWords

  • Single suggestion (possible auto fix)
    • word: suggestion
    • word->suggestion
  • Multiple suggestions (not auto fixable)
    • word: first, second, third
    • word->first, second, third

Inherited from

ExtendableSettings.suggestWords


unknownWords?

optional unknownWords: UnknownWordsChoices

Defined in: cspell-types/dist/index.d.mts:328

Controls how unknown words are handled.

  • report-all - Report all unknown words (default behavior)
  • report-simple - Report unknown words that have simple spelling errors, typos, and flagged words.
  • report-common-typos - Report unknown words that are common typos and flagged words.
  • report-flagged - Report unknown words that are flagged.

Default

"report-all"

Since

9.1.0

Inherited from

ExtendableSettings.unknownWords


useGitignore?

optional useGitignore: boolean

Defined in: cspell-types/dist/index.d.mts:1135

Tells the spell checker to load .gitignore files and skip files that match the globs in the .gitignore files found.

Default

false

usePnP?

optional usePnP: boolean

Defined in: cspell-types/dist/index.d.mts:1281

Packages managers like Yarn 2 use a .pnp.cjs file to assist in loading packages stored in the repository.

When true, the spell checker will search up the directory structure for the existence of a PnP file and load it.

Default

false

Inherited from

ExtendableSettings.usePnP


userWords?

optional userWords: string[]

Defined in: cspell-types/dist/index.d.mts:1061

Words to add to global dictionary -- should only be in the user config file.


validateDirectives?

optional validateDirectives: boolean

Defined in: cspell-types/dist/index.d.mts:1143

Verify that the in-document directives are correct.


version?

optional version: Version

Defined in: cspell-types/dist/index.d.mts:1059

Configuration format version of the settings file.

This controls how the settings in the configuration file behave.

Default

"0.2"

words?

optional words: string[]

Defined in: cspell-types/dist/index.d.mts:634

List of words to be considered correct.

Inherited from

ExtendableSettings.words