Configuration Reference
Quarto Wizard can be configured through VS Code settings. Access these through File > Preferences > Settings (or Code > Preferences > Settings on macOS) and search for “Quarto Wizard”.
Installation Behaviour
Confirm Installation
Setting: quartoWizard.ask.confirmInstall
Ask for confirmation before installing an extension. ask to ask for confirmation, never to always confirm and never ask again.
| Value | Description |
|---|---|
never |
Install without prompting. |
ask |
Ask for confirmation each time (default). |
{
"quartoWizard.ask.confirmInstall": "ask"
}Update Behaviour
Cross-source Updates
Setting: quartoWizard.update.crossSource
Allow cross-source update discovery. When disabled (default), update checks respect the recorded source-type: extensions installed via the registry are resolved against the registry, and extensions installed with quarto add owner/repo are resolved against GitHub releases directly. When enabled, GitHub-sourced extensions also fall back to the registry when GitHub has no releases or tags.
| Property | Value |
|---|---|
| Type | Boolean |
| Default | false |
{
"quartoWizard.update.crossSource": false
}Project Detection
Auto Project Detection
Setting: quartoWizard.autoProjectDetection
Configures when Quarto project roots should be automatically detected. A folder qualifies when it contains _quarto.yml/_quarto.yaml, or an _extensions/ directory with at least one installed extension. Detected roots are used by the Extensions Installed view and by every command that needs a target folder (Install, Use Template, Use Brand, …). The default subFolders only inspects direct children of the workspace folder; set the value to true for a recursive scan, or openEditors to walk up from the parent folders of open files. Two rules apply whatever the value: when the workspace folder itself has a populated _extensions/ directory, it is the only root and no sub-folder is detected; and paths matched by the workspace folder’s .quartoignore are never detected.
| Value | Description |
|---|---|
true |
Scan recursively through all nested subfolders of the workspace folder. |
false |
Disable automatic Quarto project scanning. |
subFolders |
Scan direct subfolders of the workspace folder only (default). |
openEditors |
Scan parent folders of open files. |
{
"quartoWizard.autoProjectDetection": "subFolders"
}The two rules that apply whatever the value, in detail:
- The root
_extensions/wins. When the workspace folder itself has an_extensions/directory with at least one installed extension, that folder is the only root, and no subfolder is offered as a separate target. Quarto resolves extensions by walking up from the document being rendered, so a populated_extensions/at the root already serves every document below it. This keeps installs and updates out of places such as thedocs/_extensions/copy in an extension development repository. .quartoignoreis honoured. Paths matched by the workspace folder’s.quartoignoreare never detected as roots. Listingdocsthere keeps a documentation website out of the picture even when it ships its own_quarto.ymland_extensions/.
Cache Settings
Cache Duration
Setting: quartoWizard.cache.ttlMinutes
Cache duration for extension registry data in minutes. Lower values fetch fresher data but increase network requests. Default is 30 minutes.
| Property | Value |
|---|---|
| Type | Number |
| Default | 30 |
| Minimum | 1 |
| Maximum | 1440 (24 hours) |
{
"quartoWizard.cache.ttlMinutes": 30
}Registry Settings
Registry URL
Setting: quartoWizard.registry.url
URL to the Quarto extensions registry JSON file. Change this to use a custom registry. See RawRegistryEntry in the API reference for the expected JSON schema.
| Property | Value |
|---|---|
| Type | String (URI) |
| Default | https://m.canouil.dev/quarto-extensions/extensions.json |
{
"quartoWizard.registry.url": "https://m.canouil.dev/quarto-extensions/extensions.json"
}Linting
Report Unknown Attributes
Setting: quartoWizard.lint.unknownAttributes
Report inline attributes not declared by any installed extension schema as Unknown attribute. Disabled by default: Quarto Wizard has no built-in schema for Quarto/Pandoc/revealjs internals (for example width on .column), so this would flag many valid attributes. Enable only when authoring against extensions whose _schema.yml declares a complete attribute set.
| Property | Value |
|---|---|
| Type | Boolean |
| Default | false |
{
"quartoWizard.lint.unknownAttributes": false
}Typst Preview
Preview Text Colour
Setting: quartoWizard.typstPreview.foreground
Text colour for the Typst block preview. auto derives a colour from the active colour theme kind, because the editor does not expose the colour values themselves. none injects nothing, so Typst uses its own default of black. Any other value is a Typst colour expression used as it is, for example luma(80%) or rgb("#ff9800"). The colour is injected above the block, so a #set text(fill: ...) inside the block wins. Applies to a plain typst block and to a {=typst} raw block only, because a {typst} cell carries its own colour options.
{
"quartoWizard.typstPreview.foreground": "auto"
}Preview Page Colour
Setting: quartoWizard.typstPreview.background
Page colour for the Typst block preview. auto leaves the page transparent, so the editor or panel background shows through and follows a theme change with no recompile. none injects nothing, so Typst uses its own default of white. Any other value is a Typst colour expression used as it is, for example rgb("#1e1e1e"). Applies to a plain typst block and to a {=typst} raw block only.
{
"quartoWizard.typstPreview.background": "auto"
}Preview Timeout
Setting: quartoWizard.typstPreview.timeoutMs
How long one Typst compile may run, in milliseconds. The default of 20000 covers a first-use package download, which is by far the slowest compile a preview makes. Raise it on a slow connection, and lower it to fail faster when no package is ever downloaded.
| Property | Value |
|---|---|
| Type | Number |
| Default | 20000 |
| Minimum | 1000 |
| Maximum | 300000 |
{
"quartoWizard.typstPreview.timeoutMs": 20000
}Preview Debounce Delay
Setting: quartoWizard.typstPreview.debounceMs
How long the Typst block preview waits after an edit before it compiles again, in milliseconds. Raise it when a block is slow to compile and the preview gets in the way of typing. 0 compiles on every keystroke. Moving the cursor to another block is not an edit and always updates after 250 milliseconds, and saving the document compiles at once.
| Property | Value |
|---|---|
| Type | Number |
| Default | 300 |
| Minimum | 0 |
| Maximum | 5000 |
{
"quartoWizard.typstPreview.debounceMs": 300
}Preview Maximum Height
Setting: quartoWizard.typstPreview.maxHeight
The greatest height of the image a hover shows, in the points Typst writes into the image. A taller image is scaled down proportionally, and a shorter one is shown at its own size. The panel surface scrolls instead, so it is never clamped.
| Property | Value |
|---|---|
| Type | Number |
| Default | 200 |
| Minimum | 20 |
| Maximum | 4000 |
{
"quartoWizard.typstPreview.maxHeight": 200
}Preview Surface
Setting: quartoWizard.typstPreview.surface
Where the Typst block preview is shown. All three block kinds compile to an image, so every kind works on every surface. The Quarto Wizard: Preview Typst Block command opens the panel whatever the value, except off, which turns the whole feature off. There is no surface that draws the image inside the document, because the editor does not let an extension change the height of a line.
| Value | Description |
|---|---|
panel |
Show the image in a panel beside the editor, which follows the cursor while it is open (default). |
hover |
Show the image when the pointer rests on a block. |
off |
Show no image, and offer no code lens. |
{
"quartoWizard.typstPreview.surface": "panel"
}Preview Code Lens
Setting: quartoWizard.typstPreview.codeLens
Show a code lens above every Typst block, offering to preview it. Turn it off to keep the editor clear: a document of many examples carries one lens per block. The lens is never shown when #quartoWizard.typstPreview.surface# is off.
| Property | Value |
|---|---|
| Type | Boolean |
| Default | true |
{
"quartoWizard.typstPreview.codeLens": true
}Workspace vs User Settings
All Quarto Wizard settings are scoped to “resource”, meaning they can be configured at:
- User level: Applies to all workspaces.
- Workspace level: Applies only to the current workspace.
- Folder level: Applies only to a specific folder in a multi-root workspace.
Folder settings override workspace settings, which override user settings.
Example Configuration
Here is an example settings.json with all Quarto Wizard settings:
{
"quartoWizard.ask.trustAuthors": "ask",
"quartoWizard.ask.confirmInstall": "ask",
"quartoWizard.update.crossSource": false,
"quartoWizard.autoProjectDetection": "subFolders",
"quartoWizard.cache.ttlMinutes": 30,
"quartoWizard.registry.url": "https://m.canouil.dev/quarto-extensions/extensions.json",
"quartoWizard.lint.unknownAttributes": false,
"quartoWizard.typstPreview.foreground": "auto",
"quartoWizard.typstPreview.background": "auto",
"quartoWizard.typstPreview.timeoutMs": 20000,
"quartoWizard.typstPreview.debounceMs": 300,
"quartoWizard.typstPreview.maxHeight": 200,
"quartoWizard.typstPreview.surface": "panel",
"quartoWizard.typstPreview.codeLens": true
}