The tables below follow the sections of the Settings editor (Ctrl+,). Put these keys in your User settings, or in .codevre/settings.json for one project. See Settings for how the layers work.
User only settings are hidden in the Workspace tab and always saved to User settings.
The Settings editor collects these at the top. Each is described in its own section below.
editor.theme · editor.fontSize · editor.fontFamily · editor.tabSize · editor.insertSpaces · editor.wordWrap · vre.preview.autoRun · files.exclude
| Key | Type | Default | Description |
|---|
editor.theme | theme | dark-plus | The color theme for Codevre. The picker pins commonly used themes and lists the rest A–Z |
editor.fontSize | number 6–100 | 14 | Font size in pixels |
editor.fontFamily | string | "" | Font family. Empty = default monospace font. Example: Consolas, 'Courier New', monospace |
editor.tabSize | number 1–16 | 2 | Spaces per tab |
editor.insertSpaces | boolean | true | Insert spaces when pressing Tab |
editor.wordWrap | off · on · wordWrapColumn · bounded | on | How lines wrap. bounded wraps at the smaller of the viewport and Word Wrap Column |
| Key | Type | Default | Description |
|---|
editor.lineHeight | number 0–150 | 0 | Line height in pixels. 0 = from the font size |
editor.letterSpacing | number −5–20 | 0 | Letter spacing in pixels |
editor.fontLigatures | boolean | false | Draw ligatures like => as one glyph, if the font has them |
editor.lineNumbers | off · on · relative · interval | on | relative shows distance to the cursor; interval every 10 lines |
editor.renderWhitespace | none · boundary · selection · trailing · all | selection | When whitespace characters are shown |
editor.renderLineHighlight | none · gutter · line · all | line | How the current line is highlighted |
editor.bracketPairColorization.enabled | boolean | true | Color matching brackets |
editor.guides.indentation | boolean | true | Vertical indentation guides |
editor.stickyScroll.enabled | boolean | true | Pin the current function or block header at the top while scrolling |
editor.folding | boolean | true | Code folding |
editor.scrollBeyondLastLine | boolean | false | Scroll past the last line |
editor.smoothScrolling | boolean | false | Animate scrolling |
editor.mouseWheelZoom | boolean | false | Zoom the font with Ctrl + mouse wheel |
| Key | Type | Default | Description |
|---|
editor.cursorStyle | line · block · underline · line-thin · block-outline · underline-thin | line | Cursor shape |
editor.cursorBlinking | blink · smooth · phase · expand · solid | blink | Cursor animation |
editor.cursorSmoothCaretAnimation | off · explicit · on | off | Animate the cursor as it moves. explicit = only for clicks and arrow keys |
editor.cursorWidth | number 0–10 | 0 | Width of a line cursor. 0 = default |
| Key | Type | Default | Description |
|---|
editor.formatOnPaste | boolean | false | Format pasted content, if the language has a formatter |
editor.formatOnType | boolean | false | Format the line after typing |
editor.autoClosingBrackets | always · languageDefined · beforeWhitespace · never | languageDefined | Add a closing bracket automatically |
editor.autoClosingQuotes | same as above | languageDefined | Add a closing quote automatically |
editor.linkedEditing | boolean | false | Rename matching HTML tags together |
editor.wordWrapColumn | number 1–500 | 80 | Wrap column for wordWrapColumn and bounded |
editor.dragAndDrop | boolean | true | Move selections by dragging |
| Key | Type | Default | Description |
|---|
editor.suggestOnTriggerCharacters | boolean | true | Suggest after characters like . |
editor.acceptSuggestionOnEnter | on · smart · off | on | Accept with Enter as well as Tab. smart = only when it changes text; off = Tab only |
editor.parameterHints.enabled | boolean | true | Show parameter docs while typing a call |
editor.hover.enabled | boolean | true | Show information on hover |
| Key | Type | Default | Description |
|---|
editor.minimap.enabled | boolean | true | Show the minimap |
editor.minimap.renderCharacters | boolean | true | Real characters instead of color blocks |
editor.minimap.side | right · left | right | Which side it's on |
editor.minimap.showSlider | always · mouseover | mouseover | When the slider shows |
| Key | Type | Default | Description |
|---|
files.exclude | map of glob → boolean | { "**/.git": true } | Hide matching files and folders from the Explorer and Search. Untick **/.git to show it. User and Workspace maps merge |
| Key | Type | Default | Description |
|---|
vre.preview.autoRun | boolean | true | Rerun the live preview when files change |
vre.settings.root | string | "" | Project folder served as /. /src makes src/index.html available as /index.html. Alias: liveServer.settings.root |
vre.settings.Wait | number 0–10000 | 100 | Milliseconds to wait after a change before rebuilding. Note the capital W. Alias: liveServer.settings.Wait |
vre.settings.ignoreFiles | list of globs | [] | Changes to these don't reload the preview. The files are still served. Alias: liveServer.settings.ignoreFiles |
When a project uses a liveServer.* key, the Settings editor edits that key in place.
| Key | Type | Default | Description |
|---|
workbench.defaultLayout | code · agent | code | User only. Layout for a workspace without a saved layout. ?layout= overrides it for one launch |
workbench.compactDock | boolean | false | Join docked groups into one rounded workspace with thin dividers |
workbench.tabs.connected | boolean | false | Tabs that visually connect to the editor or tool beneath |
workbench.editorAssociations | map of glob → viewer | {} | How files open. For example, "*.svg": "default" opens SVGs as text |
workbench.fileStatusBar | boolean | true | Status bar under each editor (language, problems, cursor, Diff) |
workbench.statusBar.visible | boolean | true | The main status bar. When hidden, notifications move into the ⚙ menu |
workbench.header.visible | boolean | true | The menu header outside full screen. Always shown in full screen |
breadcrumbs.enabled | boolean | true | File and symbol path above the editor |
breadcrumbs.symbolPath | on · off | on | Show the function or class you're in after the file path |
diff.gitOnly | boolean | false | Only compare against the last Git commit; hide the "since your last save" comparison |
All AI settings are User only. API keys are never stored in settings or in settings.json; they're saved to your Codevre account. See Providers and API keys.
| Key | Type | Default | Description |
|---|
ai.provider | openrouter · anthropic · openai · gemini · xai | openrouter | Which provider the Agent uses. Each needs its own key |
ai.openRouter.model | string | "" | OpenRouter model id. Empty uses the Default router, openrouter/free |
ai.anthropic.model | string | "" | Anthropic model id (claude-…) |
ai.openai.model | string | "" | OpenAI model id (gpt-…) |
ai.gemini.model | string | "" | Gemini model id (gemini-…) |
ai.xai.model | string | "" | xAI model id (grok-…) |
ai.monacopilot.enabled | boolean | false | Inline code completions while you type |
ai.monacopilot.delay | number 100–5000 | 800 | Milliseconds after you stop typing before asking for a completion. Lower feels faster but sends more requests |
ai.monacopilot.provider | chat · openrouter · anthropic · openai · gemini · xai | chat | Provider for completions. chat = same as the Agent |
ai.monacopilot.model | string | "" | Completion-only model for that provider. Empty = the provider's chat model |
The model fields are the same ones shown in the Agent's composer; changing one changes the other.
- Any Monaco option can be set as
editor.<option> (one level of nesting, such as editor.minimap.side), even if it isn't listed here. - Keys the Settings editor doesn't know are shown under Other with their JSON value, so you can see and remove them.