-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration
Settings are grouped in the VS Code Settings UI under Setup, Mods, Validation and Editor. The default answer to "what do I need to configure?" is: nothing. Open your mod folder(s), run CK3: Run Setup & Health Check once (see Getting Started), and everything below is optional.
Machine paths. These are auto-detected, and they are machine-scoped so Settings Sync does not copy one computer's paths onto another.
| Setting | Meaning |
|---|---|
ck3.gamePath |
.../steamapps/common/Crusader Kings III/game. Empty means auto-detected via Setup (Steam), or a game folder opened in the workspace. |
ck3.logsPath |
folder with the script_docs logs. Empty means auto-detect Documents. |
ck3.tigerPath |
your own ck3-tiger binary. Empty means the auto-downloaded copy. |
| Setting | Meaning |
|---|---|
ck3.modPath |
a mod folder NOT opened in the workspace; usually leave empty. Workspace mods are found automatically, and there is no primary mod. |
ck3.parentMods |
read-only dependency mods (load order, base first) for submods and compatibility patches. Never list mods you edit; open those as workspace folders. |
ck3.excludedMods |
workspace mods to skip entirely; easiest to set via CK3: Exclude Workspace Mods from Indexing. |
ck3.locLanguage |
reference localization language (default english). |
| Setting | Meaning |
|---|---|
ck3.tigerRunOn |
save (debounced) or manual. |
ck3.diagnostics.ignore |
diagnostic codes to suppress everywhere (the extension's own codes plus tiger keys). |
ck3.diagnostics.ignorePatterns |
globs (workspace-relative paths) whose diagnostics are suppressed. |
ck3.diagnostics.vanilla |
diagnose files under ck3.gamePath (default off: mod files only). |
| Setting | Meaning |
|---|---|
ck3.scopeInlayHints |
show the inferred scope after block openers (default off). |
ck3.enableForWorkspace |
escape hatch for the txt / yml language switching. |
ck3.trace.server |
LSP trace level off / messages / verbose (default off). |
To silence a diagnostic on a single line without changing any setting, use a comment:
-
# ck3m:ignore <code...>on the offending line, or -
# ck3m:ignore-next-line <code...>on the line above it.
A bare # ck3m:ignore (no code) suppresses every diagnostic on the line. You can list several codes after the keyword.
This works for both the extension's own structural checks and ck3-tiger's forwarded reports. A code is either one of the extension's own codes or a ck3-tiger report key.
The extension's own diagnostic codes:
| Code | What it flags |
|---|---|
missing-bom |
a localization file saved without a UTF-8 BOM |
unclosed-brace |
an opening brace with no matching close (rest of file ignored by the game) |
stray-close |
a closing brace with no matching open |
unterminated-string |
a quoted string with no closing quote |
missing-value |
a key with no value |
wrong-on-action-folder |
content placed in common/on_actions (it is singular, on_action) |
unknown-event |
a reference to a mod-namespace event that does not exist |
missing-required-loc |
a schema-required localization key that is missing |
loc-header-mismatch |
the l_english: header does not match the filename language |
loc-bad-filename |
a localization filename that does not follow _l_<language>.yml
|
wrong-localization-folder |
content under localisation/ instead of localization/
|
loc-no-header |
a localization file with no l_<language>: header line |
loc-bad-entry |
a malformed localization entry |
loc-tab-indent |
a tab used for indentation in a localization file |
loc-unterminated-value |
a localization value with no closing quote |
loc-content-before-header |
content appearing before the l_<language>: header |
Descriptor checks additionally use the source ck3-descriptor (missing descriptor, missing name / version / supported_version, unknown or duplicate keys, path= shipped inside descriptor.mod).