Settings
Set these in VS Code User or Workspace settings JSON.
Result target and panel behavior
| Setting | Default | Values | Use |
|---|---|---|---|
kdb-sqltools.results.target |
kdbPanel |
kdbPanel, sqltools |
Default target for kdb+: Run q Script and kdb+: Run Selection. |
kdb-sqltools.results.kdbPanel.defaultRunMode |
new |
new, replace |
Whether default kdb panel runs open a new result tab or reuse an existing one. |
kdb-sqltools.results.kdbPanel.initialViewColumn |
active |
active, beside, one, two, three |
Editor group for the first kdb result panel. Later new result tabs open beside existing kdb result tabs when possible. |
kdb-sqltools.results.kdbPanel.arrayDisplayFormat |
commaSpace |
commaSpace, space, raw |
Array/list cell display. |
kdb-sqltools.results.kdbPanel.functionDisplayStrategy |
qText |
grid, qText, table, text |
Top-level function/lambda/projection display. |
kdb-sqltools.results.kdbPanel.dictionaryDisplayStrategy |
grid |
grid, qText, table, text |
Top-level dictionary display. |
kdb-sqltools.results.kdbPanel.listDisplayStrategy |
grid |
grid, qText, table, text |
Top-level general/mixed/object list display. |
kdb-sqltools.results.kdbPanel.objectDisplayStrategy |
grid |
grid, qText, table, text |
Top-level plain object display. |
kdb-sqltools.performance.trace |
false |
true, false |
Logs query timing and memory snapshots to the extension host console with the [kdb-sqltools:perf] prefix. |
There is no setting that auto-starts the local data server. Start it explicitly from the kdb panel Settings area or the Command Palette.
Array display examples:
| Value | Display |
|---|---|
commaSpace |
1, 2, 3 |
space |
1 2 3 |
raw |
[1 2 3] where q-like bracketed display is available |
Non-table result strategy values:
| Value | Display |
|---|---|
grid |
Existing synthetic grid/table form. |
qText |
Deterministic q-like output in a plain text viewer. Normal list/object output is rendered fully; only very large text hits a character safety cap and shows [truncated]. |
table |
Alias for grid. |
text |
Alias for qText. |
True q tables and keyed tables always use the grid. Function source is shown only if it is available in the decoded IPC payload. If IPC only supplies a function marker, the panel shows a source-unavailable message; return string f or .Q.s f from q when exact source/default q text is required.
Charting
| Setting | Default | Use |
|---|---|---|
kdb-sqltools.results.kdbPanel.chartMaxSourceRows |
2000000 |
Maximum source rows scanned for built-in charting before rejecting a chart request. The minimum is 1; there is no hard upper bound. |
kdb-sqltools.results.kdbPanel.chartDecimalPlaces |
4 |
Decimal places for chart numeric axis ticks, tooltips, legend/live values, box statistics, and candlestick OHLC values. Values are clamped to 0 through 12; very large or very small nonzero numbers use scientific notation with this precision. |
kdb-sqltools.results.kdbPanel.chartZoomMinSampledPoints |
3000 |
Minimum visible sampled points before a reduced chart's settled drag zoom auto-refines when more source rows may exist in that x range. The minimum is 1. |
kdb-sqltools.results.kdbPanel.chartZoomMaxSampledPoints |
7000 |
Maximum sampled points returned for a refined zoom range. Values below chartZoomMinSampledPoints are clamped up to that minimum. |
Very large values can make chart rendering slow or temporarily block the extension host, especially with multiple y columns. For very large data, prefer the local data server or sliced results.
Chart viewport gestures do not add settings: plain drag zooms x, Shift+drag and the Pan/arrow controls pan x, and Home resets. For the same absolute x range, completed pans use the unchanged zoom range-loading/resampling decision and settings; y remains automatic.
Panel size and density
| Setting | Default | Use |
|---|---|---|
kdb-sqltools.results.density |
standard |
Active density preset: compact, standard, or comfortable. |
kdb-sqltools.results.compact.cellWidth |
140 |
Compact density cell width in pixels. |
kdb-sqltools.results.compact.rowHeight |
24 |
Compact density row height in pixels. |
kdb-sqltools.results.compact.fontSize |
0 |
Compact density font size. 0 uses the VS Code default. |
kdb-sqltools.results.standard.cellWidth |
160 |
Standard density cell width in pixels. |
kdb-sqltools.results.standard.rowHeight |
28 |
Standard density row height in pixels. |
kdb-sqltools.results.standard.fontSize |
0 |
Standard density font size. 0 uses the VS Code default. |
kdb-sqltools.results.comfortable.cellWidth |
180 |
Comfortable density cell width in pixels. |
kdb-sqltools.results.comfortable.rowHeight |
32 |
Comfortable density row height in pixels. |
kdb-sqltools.results.comfortable.fontSize |
0 |
Comfortable density font size. 0 uses the VS Code default. |
kdb-sqltools.results.cellWidth |
160 |
Legacy fallback cell width. Density-specific settings are used first. |
kdb-sqltools.results.rowHeight |
28 |
Legacy fallback row height. Density-specific settings are used first. |
kdb-sqltools.results.fontSize |
0 |
Legacy fallback font size. Density-specific settings are used first. |
The panel's Cell width textbox is an all-column preset control. Changing it or switching density clears/replaces positional manual widths for every data column, including column zero. Dragging a column then writes a new authoritative value for only that source position. The position mapping survives panel and VS Code recreation and does not change when columns are hidden or visually reordered.
There is no Header mode setting. Header click/drag intent is determined by the shared 5 CSS-pixel threshold, with keyboard sort/reorder and modifier-based whole-column selection available directly on each focusable header.
Copy, export, and warnings
| Setting | Default | Use |
|---|---|---|
kdb-sqltools.results.showRowIndex |
true |
Show the left row-number column in the panel. |
kdb-sqltools.results.includeHeaders |
true |
Include column headers by default when copying or exporting. |
kdb-sqltools.results.includeRowIndex |
true |
Include 1-based row numbers by default when copying or exporting. |
kdb-sqltools.results.hideLargeResultWarnings |
false |
Hide large-result guardrail messages in the panel. |
kdb-sqltools.results.hideLargeSortWarnings |
false |
Skip large-result sort confirmation warnings. |
kdb-sqltools.results.copyExportConfirmCellThreshold |
1000000 |
Selected-cell threshold that triggers copy/export confirmation. Minimum 1; no hard upper bound. |
kdb-sqltools.results.localDataServerFullExportCellLimit |
1000000 |
Visible-cell limit for local data server full-result current.csv, current.json, and current.ndjson exports. Minimum 1; no hard upper bound. |
kdb-sqltools.results.elapsedTimeDisplay |
auto |
Use auto or milliseconds for elapsed time display. |
Example
{
"kdb-sqltools.results.target": "kdbPanel",
"kdb-sqltools.results.kdbPanel.defaultRunMode": "replace",
"kdb-sqltools.results.kdbPanel.arrayDisplayFormat": "space",
"kdb-sqltools.results.kdbPanel.functionDisplayStrategy": "qText",
"kdb-sqltools.results.kdbPanel.dictionaryDisplayStrategy": "qText",
"kdb-sqltools.results.kdbPanel.listDisplayStrategy": "grid",
"kdb-sqltools.results.kdbPanel.objectDisplayStrategy": "grid",
"kdb-sqltools.results.includeHeaders": true,
"kdb-sqltools.results.includeRowIndex": true,
"kdb-sqltools.results.copyExportConfirmCellThreshold": 1000000,
"kdb-sqltools.results.localDataServerFullExportCellLimit": 1000000
}